Traiter les enregistrements DynamoDB avec Lambda - AWS Lambda

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Traiter les enregistrements DynamoDB avec Lambda

Créez un mappage de source d’événement pour indiquer à Lambda d’envoyer des enregistrements de votre flux à une fonction Lambda. Vous pouvez créer plusieurs mappages de source d’événement pour traiter les mêmes données avec plusieurs fonctions Lambda, ou traiter des éléments de plusieurs flux avec une seule fonction.

Pour configurer votre fonction de manière à lire depuis DynamoDB Streams, associez la politique AWSLambdaDynamoDBExecutionRole AWS gérée à votre rôle d'exécution, puis créez un déclencheur DynamoDB.

Pour ajouter des autorisations et créer un déclencheur
  1. Ouvrez la page Functions (Fonctions) de la console Lambda.

  2. Choisissez le nom d’une fonction.

  3. Choisissez l'onglet Configuration, puis Permissions (Autorisations).

  4. Sous Nom du rôle, choisissez le lien vers votre rôle d'exécution. Ce lien ouvre le rôle dans la IAM console.

    Lien vers le rôle d'exécution
  5. Choisissez Ajouter des autorisations, puis Attacher des politiques.

    Joindre des politiques dans IAM la console
  6. Dans le champ de recherche, entrez AWSLambdaDynamoDBExecutionRole. Ajoutez cette politique à votre rôle d'exécution. Il s'agit d'une politique AWS gérée qui contient les autorisations dont votre fonction a besoin pour lire le flux DynamoDB. Pour plus d'informations sur cette politique, consultez AWSLambdaDynamoDBExecutionRolela référence des politiques AWS gérées.

  7. Retournez à votre fonction dans la console Lambda. Sous Function overview (Vue d’ensemble de la fonction), choisissez Add trigger (Ajouter un déclencheur).

    Section de présentation des fonctions de la console Lambda
  8. Choisissez un type de déclencheur.

  9. Configurez les options requises, puis choisissez Add (Ajouter).

Lambda prend en charge les options suivantes pour les sources d'événements DynamoDB :

Options de source d’événement
  • DynamoDB table (Table DynamoDB) – Table DynamoDB à partir de laquelle lire les enregistrements.

  • Batch size (Taille de lot) – Nombre d’enregistrements par lot à envoyer à la fonction, jusqu’à 10 000. Lambda transmet tous les enregistrements du lot à la fonction en une seule invocation, tant que la taille totale des événements ne dépasse pas la limite de charge utile pour une invocation synchrone (6 Mo).

  • Batch window (Fenêtre de traitement par lots) – Intervalle de temps maximum (en secondes) pour collecter des enregistrements avant d’invoquer la fonction.

  • Starting position (Position de départ) – Traiter uniquement les nouveaux enregistrements, ou tous enregistrement existants.

    • Latest (Derniers) – Traiter les nouveaux enregistrements ajoutés au flux.

    • Trim horizon (Supprimer l’horizon) – Traiter tous les enregistrements figurant dans le flux.

    Après le traitement de tous les enregistrements existants, la fonction est à jour et continue à traiter les nouveaux enregistrements.

  • Destination en cas d'échec : SQS file d'attente standard ou SNS rubrique standard pour les enregistrements qui ne peuvent pas être traités. Quand Lambda écarte un lot d’enregistrements qui est trop ancien ou qui a épuisé toutes les tentatives, il envoie les détails du lot à la file d’attente ou à la rubrique.

  • Retry attempts (Nouvelles tentatives) – Nombre maximum de nouvelles tentatives que Lambda effectue quand la fonction renvoie une erreur. Cela ne s’applique pas aux erreurs ou limitations de service où le lot n’a pas atteint la fonction.

  • Maximum age of record (Âge maximum d’enregistrement) – Âge maximum d’un enregistrement que Lambda envoie à votre fonction.

  • Split batch on error (Fractionner le lot en cas d’erreur) – Quand la fonction renvoie une erreur, diviser le lot en deux avant d’effectuer une nouvelle tentative. Le paramètre de taille de lot d’origine reste inchangé.

  • Concurrent batches per shard (Lots simultanés par partition) – Traite simultanément plusieurs lots de la même partition.

  • Enabled (Activé) – Valeur définie sur VRAI pour activer le mappage de source d’événement. Définissez la valeur sur « false » pour arrêter le traitement des enregistrements. Lambda garde une trace du dernier enregistrement traité et reprend le traitement à ce point lorsque le mappage est réactivé.

Note

Les GetRecords API appels invoqués par Lambda dans le cadre des déclencheurs DynamoDB ne vous sont pas facturés.

Pour gérer ultérieurement la configuration de la source d’événement, choisissez le déclencheur dans le concepteur.