【问题标题】:How to get the list of all AWS AMIs using boto3?如何使用 boto3 获取所有 AWS AMI 的列表?
【发布时间】:2019-03-10 15:49:23
【问题描述】:

我想列出使用控制台和 Boto 3 可以看到的所有 AWS AMI(亚马逊系统映像)。

我已尝试使用 describe_instances() 获取 ImageID,但并未列出所有图像。

【问题讨论】:

  • 您能补充更多细节吗? “不是所有的图像”到底是什么意思?你怎么知道有图像丢失?您究竟希望输出看起来像什么,为什么希望它看起来像这样?实际输出与您的预期有何不同?

标签: python amazon-web-services amazon-ec2 boto3 amazon-ami


【解决方案1】:
import boto3

ec2_client = boto3.client('ec2', region_name='ap-southeast-2') # Change as appropriate

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

这会列出您的帐户创建的所有 AMI。如果您省略“self”位,它将列出所有可公开访问的 AMI(而且列表很大!)。

【讨论】:

【解决方案2】:
import boto3
ec2 = boto3.client('ec2', region_name=region)
response = ec2.describe_instances()
for reservation in response["Reservations"]:
    for instance in reservation["Instances"]:
        print(instance["ImageId"])

这将为您提供您拥有的 aws 帐户中所有使用的 AMI id 的列表

【讨论】:

  • 不完全是。它将打印您正在运行的所有实例的 AMI 列表。它可以是自己的私有 AMI 和公开可用的 AMI。但是这个方法会忽略现在不是活动实例的所有内容。
猜你喜欢
  • 2020-04-22
  • 2017-08-04
  • 2020-07-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-08-25
  • 2022-11-22
相关资源
最近更新 更多