我正在使用boto3 client.create_volume
和client.attach_volume
API,但返回值是字典,字典中的键State
对于create_volume是creating
,{ {1}}表示attach_volume。有没有办法检查音量是否在boto3中成功创建/附加?
答案 0 :(得分:3)
幸运的是,boto3有一个名为 Waiters 的概念,可以等着你!
每15秒轮询一次
EC2.Client.describe_volumes()
,直到达到成功状态。 40次检查失败后返回错误。
对于那些使用ec2客户端(ec2 = boto3.client('ec2')
)的人,你可以
ec2.get_waiter('volume_available').wait(VolumeIds=[new_volume['VolumeId']])
答案 1 :(得分:2)
通过您的volume_id
和describe_volumes
返回有关以下内容的信息:
创建状态:
'State': 'creating'|'available'|'in-use'|'deleting'|'deleted'|'error'
附件状态:
'State': 'attaching'|'attached'|'detaching'|'detached'
以及有关您的音量的更多信息。