Maison >développement back-end >Tutoriel Python >Planification des sauvegardes Amazon DynamoDB avec Lambda, Python et Boto3
Supposons que vous souhaitiez faire une sauvegarde d'une de vos tables DynamoDB tous les jours. Nous souhaitons également conserver les sauvegardes pendant une période spécifiée de time.Un moyen simple d'y parvenir est d'utiliser un Amazon CloudWatch Events règle pour déclencher quotidiennement une fonction AWS Lambda. Dans cet atelier pratique AWS, vous écrirez une fonction Lambda en Python en utilisant Boto3 bibliothèque. Cette configuration nécessite la configuration d'un rôle IAM, la définition d'un Règle CloudWatch et création d'une fonction Lambda.
Vous pouvez certainement utiliser n'importe quelle table DynamoDB que vous avez dans votre compte pour cet exercice, mais si vous souhaitez en créer un à l'aide de l'AWS CLI, vous peut utiliser la commande suivante :
aws dynamodb create-table --table-name Person --attribute-definitions AttributeName=id,AttributeType=N --key-schema AttributeName=id,KeyType=HASH --billing-mode=PAY_PER_REQUEST
Cela créera une table DynamoDB appelée Personne, avec un identifiant de clé primaire.
Toutes les fonctions Lambda nécessitent un rôle IAM qui définit le autorisations qui lui sont accordées. C'est ce qu'on appelle le rôle d'exécution de la fonction Lambda. Premièrement, nous allons parcourir le processus de création de notre rôle IAM pour Lambda fonction et créer la fonction Lambda elle-même. Nous utiliserons AWS Console de gestion pour cette tâche :
{ "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":"*" } ]}
Cette déclaration accorde deux ensembles d'autorisations. Premièrement, il accorde le possibilité de se connecter à CloudWatch Logs. Avec cette autorisation, tout Python print() les déclarations s'afficheront dans CloudWatch Logs. Deuxièmement, nous accordons l'autorisation pour que la fonction Lambda crée, répertorie et supprime les sauvegardes DynamoDB sur toutes les tables.
Maintenant que la politique est créée, vous devez créer un rôle auquel cette politique est attachée.
🎜>
Créons la fonction Lambda
Créons notre fonction Lambda !
aws dynamodb create-table --table-name Person --attribute-definitions AttributeName=id,AttributeType=N --key-schema AttributeName=id,KeyType=HASH --billing-mode=PAY_PER_REQUESTSous la fonction Lambda, sélectionnez BackupDynamoDB.
Vérifiez que le fichier de sauvegarde existe dans la liste des sauvegardes DynamoDB.
<🎜><🎜> <🎜><🎜><🎜>
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!