如何验证在boto3中成功创建/附加的卷?

时间:2017-06-28 15:37:51

标签: amazon-web-services amazon-ec2 boto3

我正在使用boto3 client.create_volumeclient.attach_volume API,但返回值是字典,字典中的键State对于create_volume是creating,{ {1}}表示attach_volume。有没有办法检查音量是否在boto3中成功创建/附加?

2 个答案:

答案 0 :(得分:3)

幸运的是,boto3有一个名为 Waiters 的概念,可以等着你!

请参阅:EC2.Waiter.VolumeInUse

  

每15秒轮询一次EC2.Client.describe_volumes(),直到达到成功状态。 40次检查失败后返回错误。

对于那些使用ec2客户端(ec2 = boto3.client('ec2'))的人,你可以

  

ec2.get_waiter('volume_available').wait(VolumeIds=[new_volume['VolumeId']])

答案 1 :(得分:2)

请参阅describe_volumes

通过您的volume_iddescribe_volumes返回有关以下内容的信息:

创建状态:

'State': 'creating'|'available'|'in-use'|'deleting'|'deleted'|'error'

附件状态:

'State': 'attaching'|'attached'|'detaching'|'detached'

以及有关您的音量的更多信息。