How to Query Images AMI's from AWS Console based on their status : Available using Python boto3?

How to Query Images AMI's from AWS Console based on their status : Available using Python boto3?

我需要根据图像 AMI 的状态从 AWS 控制台获取图像 AMI 的详细信息:可用。

当我尝试时,它卡住了并且不打印任何行。

Python 代码 1:

conn = boto3.resource('ec2')
image = conn.describe_images()
print(image) # prints nothing
for img in image:
  image_count.append(img)
print("img count ->" + str(len(image_count)))
#prints nothing

这张图片AMI有没有准确的关键词请指正

如果您想进行自己的过滤,请将 describe_images(Filters...) 更改为 describe_images()。注:describe_images()returns很多数据。准备好等待几分钟。在我的系统上 us-east-1 的 89,362 张图像。

import boto3

client = boto3.client('ec2')

image_count = []

response = client.describe_images(Filters=[{'Name': 'state', 'Values': ['available']}])

if 'Images' in response:
    for img in response['Images']:
        image_count.append(img)

print("img count ->" + str(len(image_count)))

了解 AMI 的重要一点是 每个 AMI 都提供了。

如果您只想列出属于您自己账户的 AMI,请使用 Owners=self:

import boto3

ec2_client = boto3.client('ec2')

images = ec2_client.describe_images(Owners=['self'])

available = [i['ImageId'] for i in images['Images'] if i['State'] == 'available']