nos*_*nos 6 amazon-ec2 amazon-web-services boto3
我使用以下代码来终止 aws EC2 实例。检查终止是否成功的正确方法是什么?
s = boto3.Session(profile_name='dev')
ec2 = s.resource('ec2', region_name='us-east-1')
ins = ec2.Instance(instance_id)
res = ins.terminate()
Run Code Online (Sandbox Code Playgroud)
我应该检查是否
res['TerminatingInstances'][0]['CurrentState']['Name']=='shutting-down'
还是忽略res并再次描述实例以进行检查?
最好的办法是使用的EC2.Waiter.InstanceTerminated服务员。
它EC2.Client.describe_instances()每 15 秒轮询一次,直到达到成功状态。检查失败 40 次后返回错误。
import boto3
client = boto3.client('ec2')
waiter = client.get_waiter('instance_terminated')
client.terminate_instances(InstanceIds=['i-0974da9ff5318c395'])
waiter.wait(InstanceIds=['i-0974da9ff5318c395'])
Run Code Online (Sandbox Code Playgroud)
一旦实例处于终止状态,程序就退出。
| 归档时间: |
|
| 查看次数: |
3378 次 |
| 最近记录: |