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

Modèle de programmationfonctionne 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.

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

  2. Lambda utilise le runtime (comme Python ou Java) pour préparer l'événement dans un format que votre code peut utiliser.

  3. Le moteur 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 dans votre fonction Lambda.

Le gestionnaire, dans lequel 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 transmet cet événement et certaines informations contextuelles à votre gestionnaire. 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

Bien que le modèle de programmation définisse la manière dont Lambda interagit avec votre code, c'est Environnement d’exécution là que 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 en trois phases.

  1. Initialisation : Lambda crée l'environnement et prépare tout pour exécuter votre fonction. Cela inclut la configuration du runtime que vous avez choisi, le chargement de votre code et l'exécution de tout code de démarrage que vous avez écrit.

  2. Invocation : lorsque des événements arrivent, Lambda utilise cet environnement pour exécuter votre fonction. L'environnement peut traiter de nombreux événements au fil du temps, les uns après les autres. Au fur et à mesure que de nouveaux événements se produisent, Lambda crée des environnements supplémentaires pour répondre à la demande croissante. Lorsque la demande baisse, Lambda arrête les environnements qui ne sont plus nécessaires.

  3. Arrêt : Lambda finira par arrêter les environnements. Avant cela, cela donne à votre fonction la possibilité de nettoyer toutes les tâches restantes.

Cet environnement gère les aspects importants de l'exécution de votre fonction. Il fournit à votre fonction de la mémoire et un /tmp répertoire pour le stockage temporaire. Il gère des ressources telles que les connexions de base de données entre les invocations, afin que votre fonction puisse les réutiliser. Il propose des fonctionnalités telles que la simultanéité provisionnée, dans le cadre de laquelle Lambda prépare les environnements à l'avance pour améliorer les performances.