View a markdown version of this page

Utilisation AWS Lambda avec flux de modifications - Amazon DocumentDB

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.

Utilisation AWS Lambda avec flux de modifications

Amazon DocumentDB est intégré à AWS Lambda vous pouvez donc utiliser les fonctions Lambda pour traiter les enregistrements d'un flux de modifications. Le mappage des sources d'événements Lambda est une ressource qui peut être utilisée pour invoquer des fonctions Lambda afin de traiter les événements Amazon DocumentDB qui n'invoquent pas directement Lambda. En utilisant le flux de modifications Amazon DocumentDB comme source d'événements, vous pouvez créer des applications pilotées par les événements qui répondent aux modifications de vos données. Par exemple, vous pouvez utiliser les fonctions Lambda pour traiter de nouveaux documents, suivre les mises à jour de documents existants ou enregistrer des documents supprimés.

Vous pouvez configurer un mappage de source d'événements pour envoyer des enregistrements depuis votre flux de modifications Amazon DocumentDB vers une fonction Lambda. Les événements peuvent être envoyés un par un ou groupés pour une efficacité accrue et seront traités dans l'ordre. Vous pouvez configurer le comportement de traitement par lots de votre mappage de sources d'événements en fonction de la durée d'une fenêtre temporelle spécifique (0 à 300 secondes) ou du nombre d'enregistrements par lots (limite maximale de 10 000 enregistrements). Vous pouvez créer plusieurs mappages de sources d'événements pour traiter les mêmes données avec plusieurs fonctions Lambda, ou pour traiter des éléments distincts provenant de plusieurs flux avec une seule fonction.

Si votre fonction renvoie une erreur, Lambda réessaie le lot jusqu'à ce qu'il soit traité correctement. Si les événements du flux de modifications ont expiré, Lambda désactivera le mappage des sources d'événements. Dans ce cas, vous pouvez créer un nouveau mappage de sources d'événements et le configurer avec la position de départ de votre choix. Les mappages de sources d’événements Lambda traitent les événements au moins une fois en raison de la nature distribuée de ses pollers. Par conséquent, votre fonction Lambda peut recevoir des événements dupliqués dans de rares situations. Suivez les meilleures pratiques pour travailler avec AWS Lambda fonctions et créez des fonctions idempotentes pour éviter les problèmes liés à la duplication d'événements. Pour plus d'informations, voir En utilisant AWS Lambda console avec Amazon DocumentDB dans le AWS Lambda Guide du développeur.

Afin de respecter les bonnes pratiques en matière de performances, la fonction Lambda doit être de courte durée. Pour éviter d’introduire des retards de traitement inutiles, elle ne doit pas non plus exécuter de logique complexe. Pour un flux à haute vitesse en particulier, il est préférable de déclencher des flux de travail asynchrones avec des fonctions de post-traitement par étapes plutôt que des Lambdas synchrones de longue durée. Pour plus d'informations sur AWS Lambda, consultez le AWS Lambda Guide du développeur.

Limitations

Les limites suivantes doivent être prises en compte lorsque vous travaillez avec Amazon DocumentDB et AWS Lambda:

  • AWS Lambda le mappage des sources d'événements n'est pas pris en charge sur Amazon DocumentDB 3.6.

  • AWS Lambda le mappage des sources d'événements n'est pas pris en charge sur les clusters élastiques.

  • AWS Lambda la taille de la charge utile ne peut pas dépasser 6 Mo. Pour plus d'informations sur les tailles de lots Lambda, consultez « Comportement des lots » dans Mappages de sources d'événements Lambda section de la AWS Lambda Guide du développeur.