View a markdown version of this page

Gestion des flux de travail et des événements 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.

Gestion des flux de travail et des événements Lambda

Lorsque vous créez des applications sans serveur avec Lambda, vous avez souvent besoin de moyens pour orchestrer l'exécution des fonctions et gérer les événements. AWS propose plusieurs approches pour coordonner les fonctions Lambda :

  • Fonctions durables Lambda pour une orchestration des flux de travail axée sur le code au sein de Lambda

  • AWS Step Functions pour l'orchestration visuelle des flux de travail entre plusieurs services

  • Amazon EventBridge Scheduler et Amazon EventBridge pour les architectures et la planification pilotées par les événements

Vous pouvez également intégrer ces approches ensemble. Par exemple, vous pouvez utiliser EventBridge Scheduler pour déclencher des fonctions durables ou des flux de travail Step Functions lorsque des événements spécifiques se produisent, ou configurer des flux de travail pour publier des événements dans EventBridge Scheduler à des points d'exécution définis. Les rubriques suivantes de cette section fournissent plus d'informations sur la manière dont vous pouvez utiliser ces options d'orchestration.

Code-first orchestration avec fonctions durables

Les fonctions durables Lambda fournissent une approche axée sur le code pour l'orchestration des flux de travail, ce qui vous permet de créer des flux de travail dynamiques et dynamiques directement dans vos fonctions Lambda. Contrairement aux services d'orchestration externes, les fonctions durables permettent de coder la logique de votre flux de travail, ce qui facilite les versions, les tests et la maintenance parallèlement à votre logique métier.

Les fonctions durables sont idéales lorsque vous avez besoin de :

  • Utilisez des langages de programmation standard : définissez des flux de travail à l'aide de langages de programmation familiers tels que JavaScript Python

  • Long-running processus : exécutez des flux de travail pouvant s'exécuter pendant une durée maximale d'un an, bien au-delà de la limite de 15 minutes des fonctions Lambda standard

  • Développement simplifié : conservez la logique de flux de travail et la logique métier dans la même base de code pour faciliter la maintenance et les tests

  • Cost-effective en attente : interrompez l'exécution pendant les états d'attente sans consommer de ressources de calcul

  • Built-in gestion de l'état : pointage automatique et persistance de l'état sans configuration de stockage externe

Pour vous aider à choisir entre les fonctions durables et les fonctions Step, voir Fonctions durables ou Step Functions.

Pour plus d'informations sur les fonctions durables, consultez la section Fonctions durables Lambda.

Orchestration de flux de travail avec Step Functions

AWS Step Functions est un service d'orchestration des flux de travail qui vous aide à coordonner plusieurs fonctions Lambda et d'autres AWS services dans des flux de travail structurés. Ces flux de travail peuvent maintenir l’état, gérer les erreurs grâce à des mécanismes de nouvelle tentative sophistiqués et traiter les données à grande échelle.

Step Functions propose deux types de flux de travail pour répondre aux différents besoins d’orchestration :

Flux de travail standard

Idéal pour les flux de travail auditables de longue durée qui nécessitent une sémantique d’exécution unique. Les flux de travail standard peuvent s’exécuter pendant un an au maximum, fournissent un historique d’exécution détaillé et prennent en charge le débogage visuel. Ils conviennent aux processus comme l’exécution des commandes, les pipelines de traitement des données ou les tâches d’analytique en plusieurs étapes.

Flux de travail express

Conçu pour les charges de travail de courte durée et à fréquence élevée avec une sémantique d’exécution au moins une fois. Les flux de travail express peuvent s’exécuter pendant jusqu’à cinq minutes et sont idéaux pour le traitement d’événements volumineux, les transformations de données de diffusion en continu ou les scénarios d’ingestion de données IoT. Ils offrent un débit plus élevé et un coût potentiellement inférieur par rapport aux flux de travail standard.

Note

Pour plus d’informations sur les types de flux de travail Step Functions, consultez Choix du type de flux de travail dans Step Functions.

Dans le cadre de ces flux de travail, Step Functions fournit deux types d’états Carte pour le traitement parallèle :

Inline Map

Traite les éléments d’un tableau JSON dans l’historique d’exécution du flux de travail parent. Inline Map prend en charge jusqu’à 40 itérations simultanées et convient aux petits jeux de données ou lorsque vous devez conserver tous les traitements dans une seule exécution. Pour plus d’informations, consultez Utilisation de l’état Map en mode Inline.

Plan distribué

Permet le traitement de charges de travail parallèles à grande échelle en itérant sur des jeux de données supérieurs à 256 Kio ou nécessitant plus de 40 itérations simultanées. Prenant en charge jusqu’à 10 000 exécutions parallèles de flux de travail enfants, Distributed Map excelle dans le traitement des données semi-structurées stockées dans Amazon S3, comme les fichiers JSON ou CSV, ce qui le rend idéal pour le traitement par lots et les opérations ETL. Pour plus d’informations, consultez Utilisation de l’état Map en mode Distributed.

En combinant ces types de flux de travail et les états Map, Step Functions fournit un ensemble d’outils flexible et puissant pour orchestrer des applications sans serveur complexes, qu’il s’agisse d’opérations à petite échelle ou de pipelines de traitement de données à grande échelle.

Pour commencer à utiliser Lambda avec Step Functions, consultez Orchestration de fonctions Lambda avec Step Functions.

Gestion des événements à l'aide EventBridge d'un EventBridge planificateur

Amazon EventBridge est un service de bus d'événements qui vous aide à créer des architectures pilotées par les événements. Il achemine les événements entre les AWS services, les applications intégrées et les applications SaaS (Software as a Service). EventBridge Scheduler est un planificateur sans serveur. Avec EventBridge Scheduler, vous pouvez créer, exécuter et gérer des tâches à partir d'un service central, invoquer des fonctions Lambda selon un calendrier à l'aide d'expressions cron et rate, ou configurer des appels uniques.

Amazon EventBridge et EventBridge Scheduler vous aident à créer des architectures pilotées par les événements avec Lambda. EventBridge achemine les événements entre les AWS services, les applications intégrées et les applications SaaS, tandis que EventBridge Scheduler fournit des fonctionnalités de planification spécifiques pour appeler les fonctions Lambda de manière récurrente ou ponctuelle.

Ces services fournissent plusieurs fonctionnalités clés pour travailler avec les fonctions Lambda :

  • Créez des règles qui font correspondre les événements et les acheminent vers les fonctions Lambda à l'aide de EventBridge

  • Configurez des appels de fonctions récurrents à l'aide d'expressions cron et rate avec Scheduler EventBridge

  • Configurer des invocations de fonction ponctuelles à des dates et heures spécifiques

  • Définissez des fenêtres horaires flexibles et des politiques de nouvelle tentative pour les invocations planifiées

Pour de plus amples informations, veuillez consulter Invocation d’une fonction Lambda dans une planification.