如何使用boto获取我的EC2镜像状态?
在我的代码中,我想从一个AMI(亚马逊机器镜像)创建一张图片,然后检查这张新图片的状态。不过,我在弄清楚这张图片的状态时遇到了困难。以下是我最后尝试的代码:
package_name = "RAY"
promotion_id = "101-234"
print "[....] Package Install Complete"
print "[....] Proceeding to Bake AMI"
imagename = package_name + promotion_id
newimageid = conn.create_image(instance_id=bakeryinstanceid, name=imagename, description="Please Work" )
print "[....] The new Base AMI ID for ", package_name, "is", newimageid
image_status = newimageid.state
这是我得到的错误信息:
Traceback (most recent call last):
File "./imagecreate.py", line 58, in <module>
image_status = newimageid.state
AttributeError: 'unicode' object has no attribute 'state'
查看我这张新图片状态的最好方法是什么呢?
1 个回答
3
我认为 create_image()
返回的是一个包含图片ID的字符串,而不是一个图片对象。根据你的例子,你应该这样做:
image_status = get_image(newimageid)
image_status.state
应该会包含一个字符串,显示你的图片状态,可能的值有 "pending"(待处理)、"available"(可用)和 "failed"(失败)。
http://boto.readthedocs.org/en/latest/ref/ec2.html#boto.ec2.connection.EC2Connection.get_image http://boto.readthedocs.org/en/latest/ref/ec2.html#boto.ec2.connection.EC2Connection.create_image