Boto3显示了如此多的ec2快照,这些快照都不是我所有的

时间:2019-04-11 10:01:22

标签: boto3

我写了一个区域中所有可用快照的生成列表。 我得到45张快照作为输出。实际上,我所在的区域只有5张快照 以及在我的帐户中。

我尝试使用python 3.6,Boto3和CentOS7。

请问有人可以叫醒我吗?

谢谢, 卡兰

这是我的简单脚本,用于列出区域中的可用快照。

#!/usr/bin/python3.6
import boto3
region='xx-xxxx-x'
ec2=boto3.resource('ec2',region_name=region)
try:
        snapshos=ec2.snapshots.all()
        for snap in snapshos:
                print(snap.id,snap.state)
except AttributeError as e:
        print('Error', e)

output:

snap-01ccbc648c4ad8014 completed
snap-0c2d3543fce41724a completed
snap-0826e8a53b2774cbe completed
snap-0168deea3f5b58f2d completed
snap-02ad4595811226db2 completed
snap-0d726327a37e8f7ab completed
snap-0bdf56e9597463f4a completed
snap-0a57341307d009304 completed
snap-0f23409e560e2f059 completed
snap-0e546d94f2102776e completed
snap-0fe985769cf0737ed completed
snap-0f955fd5d111e3729 completed
snap-08009b0042cf41b36 completed
snap-029f0e8d87851f7e7 completed
snap-0fe2e56cfddd4b179 completed
snap-0d61b03807ea7968e completed
snap-0fb534b55d3969d8c completed
snap-02be9fb0c4b6f2d46 completed
snap-07379ad09c8e9aac2 completed
snap-0a1cdabc059f3f7a0 completed

2 个答案:

答案 0 :(得分:1)

这可能有帮助。

import boto3

client = boto3.client('ec2', region_name='us-east-1')

response = client.describe_images(Owners=['self'])
for ami in response['Images']:
  print (ami['ImageId'])

答案 1 :(得分:0)

这些快照可能是您有权访问的AMI的EBS卷快照。这也包括公共AMI。

您需要做的是仅过滤您拥有的快照。 为此,请使用describe_snapshots客户端的ec2 API。

https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/ec2.html#EC2.Client.describe_snapshots