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
虽然快照被创建,我不能够得到状态
负载()听起来更好,用while循环检查快照状态 – Kittystone
我不知道load是什么,但是一个函数需要另一个函数,超时和检查间隔是非常常见的在我的经验模式。 – l0b0