使用快照的start_time
場(這是一個字符串,因此它需要被解析):
import datetime
# Fetch all snaps
snaps = conn.get_all_snapshots()
# Get UTC of 30-days ago
cutoff = datetime.datetime.utcnow() - datetime.timedelta(days=30)
# datetime parsing format "2015-09-07T20:12:08.000Z"
DATEFORMAT = '%Y-%m-%dT%H:%M:%S.%fZ'
# filter older
old_snaps = [s for s in snaps \
if datetime.datetime.strptime(s.start_time, DATEFORMAT) < cutoff]
# filter newer
new_snaps = [s for s in snaps \
if datetime.datetime.strptime(s.start_time, DATEFORMAT) >= cutoff]
old_snaps
將包含從這個月以前生產的,並new_snaps
將包含從本月的那些。 (我覺得你想刪除舊的對齊,這就是爲什麼我包括old_snaps
行。)
我使用上面的datetime.strptime(),因爲它是內置的,但如果你有它安裝dateutil更強大。 (詳情請參閱:https://stackoverflow.com/a/3908349/1293152)
這看起來非常必要,尤其是因爲我不想在後端保存數千個快照。有沒有解決方法? – user3822146
那麼,您可以將時間戳和快照ID始終存儲在DynamoDB或其他數據庫中,並查詢它以查找要檢索的快照ID。 – garnaat
好的。認爲我會迴避。無論如何感謝您的答覆。順便說一句boto岩石以其他方式。 – user3822146