Exécution de code 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.

Exécution de code avec Lambda

Lorsque vous écrivez une fonction Lambda, vous créez du code qui s’exécute dans un environnement sans serveur unique. Comprendre comment Lambda exécute réellement votre code implique deux aspects essentiels : le modèle de programmation, qui définit la façon dont votre code interagit avec Lambda, et le cycle de vie de l’environnement d’exécution, qui détermine la manière dont Lambda gère l’environnement d’exécution de votre code.

Le modèle de programmation Lambda

Le modèle de programmation fonctionne comme un ensemble de règles communes régissant la façon dont Lambda fonctionne avec votre code, que vous écriviez en Python, en Java ou dans tout autre langage pris en charge. Le modèle de programmation inclut votre environnement d’exécution et votre gestionnaire.

Pour les fonctions standard :

  1. Lambda reçoit un événement.

  2. Lambda utilise le runtime pour préparer l'événement dans un format que votre code peut utiliser.

  3. L’environnement d’exécution envoie l’événement formaté à votre gestionnaire.

  4. Votre gestionnaire traite l'événement en utilisant le code que vous avez écrit.

Pour des fonctions durables :

  1. Lambda reçoit un événement

  2. Le runtime prépare à la fois l'événement et DurableContext

  3. Votre gestionnaire peut :

    • Étapes du processus avec point de contrôle automatique

    • Interrompre l'exécution sans consommer de ressources

    • CV du dernier point de contrôle réussi

    • Maintenir l'état entre les étapes

Le gestionnaire, auquel Lambda envoie des événements à traiter par votre code, est essentiel à ce modèle. Considérez-le comme le point d’entrée de votre code. Lorsque Lambda reçoit un événement, il le transmet à votre gestionnaire avec certaines informations contextuelles. Le gestionnaire exécute ensuite votre code pour traiter ces événements. Par exemple, il peut lire un fichier lorsqu’il est chargé sur Amazon S3, analyser une image ou mettre à jour une base de données. Une fois que votre code a fini de traiter un événement, le gestionnaire est prêt à traiter le suivant.

Le modèle d’exécution Lambda

Alors que le modèle de programmation définit la manière dont Lambda interagit avec votre code, l'environnement d'exécution est l'endroit où Lambda exécute réellement votre fonction. Il s'agit d'un espace de calcul sécurisé et isolé créé spécifiquement pour votre fonction.

Chaque environnement suit un cycle de vie qui varie entre des fonctions standard et durables :

Fonctions standard (jusqu'à 15 minutes) :

  1. Initialisation : configuration de l'environnement et chargement du code

  2. Invocation : exécution unique du code de fonction

  3. Arrêt : nettoyage de l'environnement

Fonctions durables (jusqu'à 1 an) :

  1. Initialisation : configuration de l'environnement et de l'état durable

  2. Invocation : plusieurs étapes avec point de contrôle automatique

  3. États d'attente : pause de l'exécution sans consommation de ressources

  4. Reprise : Redémarrer depuis le dernier point de contrôle

  5. Arrêt : nettoyage de l'état durable

Cet environnement gère les aspects importants de l’exécution de votre fonction. Il fournit à votre fonction de la mémoire et un répertoire /tmp pour le stockage temporaire. Pour les fonctions durables, il gère également :

  • Persistance automatique de l'état entre les étapes

  • Stockage et restauration aux points de contrôle

  • Coordination de l'état d'attente

  • Suivi des progrès réalisés dans le cadre des exécutions de longue durée