如何使用API获取AWS卷的最新快照



我只想要特定卷的最新快照。

response_v=boto3.client("ec2").describe_snapshots(Filters=[{"Name":"volume-id","Values":["vol-fffffffffff"]}])

如何完成?

看起来describe_snapshots方法首先返回最新的方法,但您真的不应该依靠。

我认为您可以安全地依靠StartTime字段,寻找返回的所有快照的最大值。

快照异步出现;立即创建时间点快照

因此,"最大"的开始时间将是最新的快照

我写了这一点代码,以使用最新的快照开始时间打印快照_ID。我的python-fu不是最伟大的,但这有效。

import boto3
import datetime
import pytz
utc = pytz.UTC
starttime=datetime.datetime(1,1,1,tzinfo=utc)
snap_id = ""
volume_id = "<put your volume id here or write something more elegant to pass it in>"
region = 'us-east-1'
session = boto3.Session(profile_name='default')
ec2 = session.client('ec2', region_name=region)
response = ec2.describe_snapshots(Filters=[{"Name":"volume-id","Values":[volume_id]}])
# print(response['Snapshots'])
for snap in response['Snapshots']:
    if snap['StartTime'] > starttime:
        snap_id = snap['SnapshotId']
        starttime= snap['StartTime']
print(snap_id)

参考

  • https://docs.aws.amazon.com/awsec2/latest/userguide/ebs-creating-snapshot.html

相关内容

  • 没有找到相关文章

最新更新