【发布时间】:2023-03-29 11:09:01
【问题描述】:
我使用以下代码终止 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()
我应该检查是否
res['TerminatingInstances'][0]['CurrentState']['Name']=='shutting-down'
还是忽略res,重新描述实例进行检查?
【问题讨论】:
-
这里的文档并不理想,但我怀疑如果您要终止单个实例,那么没有异常就足够了。
-
我使用网络服务器来调用这个终止代码。你知道
terminate()会抛出什么异常吗? -
针对终止(或其他线程中的服务员)可能引发哪些异常/错误的问题,不幸的是,我认为没有一个好的答案。在我看来,这是 Python 尤其是 boto3 的主要弱点之一——缺乏关于错误处理的良好文档,而且 Python 本身的性质使其无法确定。
标签: amazon-web-services amazon-ec2 boto3