ich mit dem folgende Skript versucht, Snapshots für Instanzen zu erstellen, den Tag Namen [Backup oder Backup] nach https://serverlesscode.com/post/lambda-schedule-ebs-snapshot-backups/ & & https://serverlesscode.com/post/lambda-schedule-ebs-snapshot-backups-2/ Ich habe erfolgreich mit erstellt die Snapshots mit DeleteOn-Tags wie im ersten und zweiten Link angegeben. Der letzte Teil des zweiten Links erläutert, wie diese Snapshots am angegebenen Datum gelöscht werden. Basierend auf diesem Code habe ich folgendes um die Snapshots nach 7 Tagen zu löschen.Löschen von Snapshots nach 7 Tagen AWS Lambda mit
Dies ist der Code:
import boto3
import re
import datetime
ec = boto3.client('ec2')
iam = boto3.client('iam')
def lambda_handler(event, context):
account_ids = list('123456789011')
try:
iam.get_user()
except Exception as e:
account_ids.append(re.search(r'(arn:aws:sts::)([0-9]+)', str(e)).groups()[1])
delete_on = datetime.date.today().strftime('%Y-%m-%d')
filters = [
{'Name': 'tag-key', 'Values': ['DeleteOn']},
{'Name': 'tag-value', 'Values': [delete_on]},
]
snapshot_response = ec.describe_snapshots(OwnerIds=account_ids, Filters=filters)
for snap in snapshot_response['Snapshots']:
print "Deleting snapshot %s" % snap['SnapshotId']
ec.delete_snapshot(SnapshotId=snap['SnapshotId'])
Auf diese Weise erhalte ich folgende Fehlermeldung:
'NoneType' object has no attribute 'groups': AttributeError
Traceback (most recent call last):
File "/var/task/lambda_function.py", line 27, in lambda_handler
account_ids.append(re.search(r'(arn:aws:sts::)([0-9]+)', str(e)).groups()[1])
AttributeError: 'NoneType' object has no attribute 'groups'