Comment puis-je capturer les événements de flux de table globaux Amazon DynamoDB avec AWS Lambda ?

Dernière mise à jour : 18/08/2022

Je souhaite créer un déclencheur AWS Lambda pour traiter un flux à partir d'une table globale Amazon DynamoDB.

Solution

Une table globale DynamoDB est un ensemble de répliques à travers différentes régions dans un seul compte. Les tables globales utilisent DynamoDB Streams pour répliquer les données dans différentes régions. Lorsque vous créez un réplica pour une table globale, un flux est créé par défaut. Toute modification apportée à un réplica est reproduit sur tous les autres réplicas de la même table globale en une seconde à l'aide de DynamoDB Streams.

Remarque : le fait d'avoir un seul consommateur sur l'un des réplicas de la table globale d'une région est suffisant pour récupérer les enregistrements de modification de tous les éléments.

Vous pouvez configurer un déclencheur AWS Lambda pour traiter un flux à partir d'un réplica de table globale en procédant comme suit :

  1. Assurez-vous que AWSLambdaDynamoDBExecutionRole dispose des autorisations AWS Identity and Access Management (IAM) nécessaires.
    Remarque : la politique IAM AWSLambdaDynamoDBExecutionRole ne dispose pas d'autorisations permettant à Lambda de communiquer avec d'autres services, tels qu'Amazon Simple Notification Service (Amazon SNS), par défaut. Cela signifie que vous devez ajouter les autorisations supplémentaires requises en fonction de la cible Lambda.
  2. Créez une fonction Lambda à l'aide du plan dynamodb-process-stream. Vous pouvez modifier le code Lambda en fonction de vos besoins pour traiter les données de flux.
  3. Après avoir créé la fonction Lambda, ouvrez la console DynamoDB et sélectionnez le réplica de table globale. Dans l'onglet Exportations et flux, choisissez Créer un déclencheur. Ensuite, sélectionnez la fonction Lambda que vous avez créée à l'étape précédente. Assurez-vous de sélectionner Activer le déclencheur afin que le déclencheur soit activé après sa création.

La fonction Lambda est désormais configurée en tant que déclencheur pour votre réplica de table globale. Toutes les modifications apportées au réplica sont capturées par le flux et le déclencheur est invoqué.


Cet article vous a-t-il été utile ?


Avez-vous besoin d'aide pour une question technique ou de facturation ?