使用Boto来确定AWS AMI是否可用

4
我正在使用Boto创建一个EC2盒子的AMI,然后想要使用该AMI启动更多的盒子,但是run_instances命令报错说我的AMI还不可用。
我应该如何使用boto查询aws以查找我的AMI何时准备好?
EC2连接支持一种方法get_image 但是Image没有任何状态属性。
4个回答

5

一次对Image进行的快速dir操作,让我找到了Image.state,它有像"pending""available"这样的值。


1
除了“等待中”和“可用”的状态外,还有“失败”的状态。这是可用的完整AMI状态集。

0

我可以使用boto3编写简单的函数

def check_ami_exists(ami_id, region): 
  client = boto3.client('ec2', region_name = region)
  response = client.describe_images()
  for image in response['Images']:
    if ami_id == image['ImageId']:
      return True
  return False

-1

我使用了上述的方法,但花了一点时间来理解。虽然不是 Python 专业人士,但以下是我的操作步骤。希望对有所帮助。

#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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接