Angenommen, Sie möchten eine Sicherungskopie einer Ihrer DynamoDB-Tabellen erstellen jeden Tag. Wir möchten Backups auch für einen bestimmten Zeitraum aufbewahren Zeit. Eine einfache Möglichkeit, dies zu erreichen, ist die Verwendung von Amazon CloudWatch Events Regel zum täglichen Auslösen einer AWS Lambda-Funktion. In diesem praktischen AWS-Labor Sie werden mit Boto3 eine Lambda-Funktion in Python schreiben Bibliothek. Um dies einzurichten, müssen Sie eine IAM-Rolle konfigurieren und eine festlegen CloudWatch-Regel und Erstellen einer Lambda-Funktion.
Sie können natürlich jede DynamoDB-Tabelle verwenden, die Sie in Ihrem Konto haben für diese Übung, aber wenn Sie eine mit der AWS CLI erstellen möchten, müssen Sie Sie können den folgenden Befehl verwenden:
aws dynamodb create-table --table-name Person --attribute-definitions AttributeName=id,AttributeType=N --key-schema AttributeName=id,KeyType=HASH --billing-mode=PAY_PER_REQUEST
Dadurch wird eine DynamoDB-Tabelle namens Person mit einer Primärschlüssel-ID erstellt.
Alle Lambda-Funktionen erfordern eine IAM-Rolle, die die definiert die ihm erteilten Berechtigungen. Dies wird als Ausführungsrolle der Lambda-Funktion bezeichnet. Erstens: Wir werden den Prozess der Erstellung unserer IAM-Rolle für Lambda durchlaufen Funktion und Erstellen der Lambda-Funktion selbst. Wir werden AWS verwenden Verwaltungskonsole für diese Aufgabe:
{ "Version":"2012-10-17", "Statement":[ { "Effect":"Allow", "Action":[ "logs:CreateLogGroup", "logs:CreateLogStream", "logs:PutLogEvents" ], "Resource":"arn:aws:logs:*:*:*" }, { "Action":[ "dynamodb:CreateBackup", "dynamodb:DeleteBackup", "dynamodb:ListBackups" ], "Effect":"Allow", "Resource":"*" } ]}
Diese Anweisung gewährt zwei Sätze von Berechtigungen. Erstens gewährt es die Möglichkeit, sich bei CloudWatch Logs anzumelden. Mit dieser Berechtigung kann jeder Python print() Anweisungen werden in CloudWatch Logs angezeigt. Zweitens erteilen wir die Erlaubnis für die Lambda-Funktion zum Erstellen, Auflisten und Löschen von DynamoDB-Backups alle Tabellen.
Nachdem die Richtlinie erstellt wurde, müssen Sie eine Rolle erstellen, der diese Richtlinie zugeordnet ist.
Lass uns unsere Lambda-Funktion erstellen!
Fügen Sie den folgenden Quellcode in Lambda ein Code-Editor der Funktion: Klicken Sie oben rechts auf dem Bildschirm auf Speichern.
Als nächstes erstellen wir eine CloudWatch-Regel, um den Lambda zu planen Funktion, die in regelmäßigen Abständen ausgeführt wird. Dadurch werden Sicherungen durchgeführt DynamoDB-Tabelle und entfernen Sie veraltete Backups.
aws dynamodb create-table --table-name Person --attribute-definitions AttributeName=id,AttributeType=N --key-schema AttributeName=id,KeyType=HASH --billing-mode=PAY_PER_REQUEST
Das obige ist der detaillierte Inhalt vonPlanen von Amazon DynamoDB-Backups mit Lambda, Python und Boto3. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!