我正在使用Boto创建我的一个EC2盒子的AMI,然后我想用那个AMI旋转更多的盒子,但是run_instances
命令咆哮我的AMI还没有。
如何使用boto查询aws以了解我的ami何时准备就绪?
EC2连接支持get_image
的方法但Image没有任何状态属性
答案 0 :(得分:5)
图片快速dir将我带到Image.state
,其值为"pending"
和"available"
答案 1 :(得分:2)
除“待定”和“可用”外,还有“失败”状态。这是可用的全套AMI状态。
答案 2 :(得分:0)
我使用了上述方法,但我花了一点时间才弄明白。不是蟒蛇人,但这就是我所做的。希望它可以帮到某人。
#EC2 Connection
conn = boto.ec2.connect()
image_status = conn.get_all_images(image_ids='ami-XXX')[0]
image_state = image_status.state
print image_state
答案 3 :(得分:0)
我可以使用boto3编写一个简单的函数
from collections import OrderedDict
#based on your updated data structure
d = OrderedDict([('@CASH', '0.00'), ('@INTEREST', '0.00'), ('@BUY', '-233'), ('@RATE', '1.000000'), ('@AVAILABLE', '6,228'), ('@AMT', '0.00')])
xml_response = {}
xml_response['HOLDING_QUERY_RESPONSE'] = d
xml_response
{'HOLDING_QUERY_RESPONSE': OrderedDict([('@CASH', '0.00'),
('@INTEREST', '0.00'),
('@BUY', '-233'),
('@RATE', '1.000000'),
('@AVAILABLE', '6,228'),
('@AMT', '0.00')])}
info = {key.replace('@',''):value for key, value in xml_response['HOLDING_QUERY_RESPONSE'].items()}
print(info)