2016-07-06 4 views
1

私はスナップショットの作成を担当する小さな機能を持っています。しかし、私は同様に進捗状況を取得したいのですが、次の関数は、私を助けていません:snapshot.wait_until_completedは進行状況も完了しても表示されません

def call_creater(): 
    regions = ['eu-central-1'] 
    for region in regions: 
     ec2 = boto3.resource('ec2', region, aws_access_key_id=ACCESS_KEY, aws_secret_access_key=SECRET_KEY,) 
     snapshot = ec2.create_snapshot(VolumeId='vol-f9e7d220', Description='fra01-he-trial-ansible01') 
     print snapshot.id 

     get_all_snapshots = ec2.snapshots.filter(snap_id=['SnapshotIds']) 
     print get_all_snapshots 
     #snapshot.wait_until_completed() 
     print "STARTING TO CREATE :" 
     time.sleep(10) 
     snapshot.wait_until_completed(
      Filters=[ 
       { 
        'Name': 'progress' 
       } 
       ] 
     ) 
     print "snapshot ready" 

これはスロー:スナップショットが作成されます

'Name': 'progress' 
    File "C:\Python27\lib\site-packages\boto3\resources\factory.py", line 368, in do_waiter 
    waiter(self, *args, **kwargs) 
    File "C:\Python27\lib\site-packages\boto3\resources\action.py", line 201, in __call__ 
    response = waiter.wait(**params) 
    File "C:\Python27\lib\site-packages\botocore\waiter.py", line 53, in wait 
    Waiter.wait(self, **kwargs) 
    File "C:\Python27\lib\site-packages\botocore\waiter.py", line 321, in wait 
    reason='Max attempts exceeded') 
botocore.exceptions.WaiterError: Waiter SnapshotCompleted failed: Max attempts exceeded 

けれども、私が取得することはできませんよステータス

答えて

3

wait_until_completed should wait for a maximum of about 10 minutes(これは大きなスナップショットには十分ではありません)、reportedly it's returning faster even than thatです。この機能は壊れているようだから、自分のウェイターを書くことをお勧めします。

+0

load()はスナップショットの状態をチェックするwhileループでうまくいっています – Kittystone

+0

私は 'load'を知りませんが、別の関数、チェックアウトのタイムアウトと間隔を取る関数は非常に一般的です私の経験ではパターン。 – l0b0

関連する問題