4

Botoを使用してEC2ボックスの1つのAMIを作成していて、そのAMIでさらにボックスを起動したいのですが、run_instancesコマンドがAMIがまだ利用できないことを吠えています。

botoを使用してawsにクエリを実行し、amiの準備ができたことを確認するにはどうすればよいですか?

EC2接続はget_imageへのメソッドをサポートします

ただし、画像にはステータス属性はありません

4

4 に答える 4

5

ImageのクイックディレクトリImage.stateは、次のような値で"pending"私を導きました"available"

于 2012-05-03T18:21:21.957 に答える
1

「保留中」および「使用可能」に加えて、「失敗」状態もあります。これは、利用可能なAMI状態の完全なセットです。

于 2012-07-26T18:49:33.650 に答える
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
于 2018-11-24T06:09:18.080 に答える
-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
于 2014-11-26T23:40:05.803 に答える