【问题标题】:trying to get ec2 image list including blockDeviceMappings.snpshotID试图获取 ec2 图像列表,包括 blockDeviceMappings.snpshotID
【发布时间】:2020-12-04 03:29:07
【问题描述】:

我需要获取包含 bloak 设备快照 ID 的 ec2 图像列表,该列表应仅包含属于我的图像。 到目前为止,我已经设法在没有额外信息的情况下获得图像 iD 列表

另外,有没有办法获取我拥有的列表而不是添加我的 ID?

import boto3
ec2 = boto3.resource('ec2',aws_access_key_id = "ID",aws_secret_access_key = "ID",region_name = "eu-west-1")
filter=[{'Name':'owner-id','Values':['MY-ID']}]
count_aim = 1
for each_aim in ec2.images.filter(Filters=filter):
        print (each_aim)
        count_aim = count_aim + 1
print (count_aim)

【问题讨论】:

    标签: amazon-ec2 boto3 amazon-iam


    【解决方案1】:

    我认为应该这样做:

    from collections import defaultdict
    from pprint import pprint
    
    import boto3
    
    ec2 = boto3.resource('ec2', aws_access_key_id = 'dddddd', aws_secret_access_key="ggggfffff",region_name = "eu-west-1")
    
    filter=[{'Name':'owner-id','Values':['123455']}]
    
    block_ids = defaultdict(list)
    
    for each_aim in ec2.images.filter(Filters=filter):
      for block_map in each_aim.block_device_mappings:
         block_ids[each_aim.id].append(block_map['Ebs']['SnapshotId'])
            
    pprint(dict(block_ids))
    

    示例输出:

    {'ami-02b8a850c975bb610': ['snap-02f277ce5b3b670fc'],
     'ami-06422cd44a94bab38': ['snap-0b0c9048f46992ee1']}
    

    【讨论】:

      猜你喜欢
      • 2013-06-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-08-22
      • 2012-03-29
      • 1970-01-01
      • 2021-02-14
      • 1970-01-01
      相关资源
      最近更新 更多