Я пытаюсь очистить снимки в своей учетной записи, созданные для кластеров AWS EMR. Снимки принудительно применяются, и поэтому, хотя мне не нужны снимки для EMR, они делаются ежедневно. Я хочу написать код на python, который будет очищать моментальные снимки старше указанных дней. например любой снимок старше 7 дней.
Я нашел приведенный ниже код в stackoverflow, и это было бы хорошим местом для начала. aws">программа python (boto3) для удаления старых снимков в aws)
Мне просто нужна помощь с добавлением условия, которое проверяет тег имени для моментального снимка и удаляет его, только если он содержит слово EMR. Я очень новичок в python, сейчас читаю основы, но мне также нужно доставить это. Любая помощь приветствуется.
import boto3
import datetime
client = boto3.client('ec2',region_name='us-west-1')
snapshots = client.describe_snapshots(OwnerIds=['111111111111'])
def lambda_handler(event, context):
for snapshot in snapshots['Snapshots']:
a=snapshot['StartTime']
b=a.date()
c=datetime.datetime.now().date()
d=c-b
f=a.day
excludeDate=datetime.datetime.strptime('2018-1-10', '%Y-%m-%d').date()
try:
if d.days>30 and f!=1 and b!=excludeDate:
id = snapshot['SnapshotId']
client.delete_snapshot(SnapshotId=id)
except Exception,e:
if 'InvalidSnapshot.InUse' in e.message:
print "skipping this snapshot"
continue