Похоже, что метод describe_snapshots
сначала возвращает самый новый, но вы действительно не должны на это рассчитывать.
Я думаю, вы можете смело полагаться на поле StartTime
, ища наибольшее значениедля всех снимков возвращается.
Снимки происходят асинхронно;моментальный снимок на момент времени создается немедленно
Из-за этого "самый большой" StartTime будет последним снимком
Я написал этот фрагмент кода для печати snapshot_id сВремя начала последнего снимка.Мой питон-фу не самый лучший, но это работает.
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)
Ссылки