Création de fonctions Lambda avec Python - AWS Lambda

Création de fonctions Lambda avec Python

Vous pouvez exécuter Python code dans AWS Lambda. Lambda fournit des exécutions pour Python qui exécutent votre code afin de traiter des événements. Votre code s'exécute dans un environnement comprenant le kit Kit SDK pour Python (Boto3), avec les informations d'identification d'un rôle AWS Identity and Access Management (IAM) que vous gérez.

Lambda prend en charge les exécutions Python suivantes.

Environnements d’exécution Python
Nom Identifiant Kit SDK AWS pour Python Système d'exploitation

Python 3.8

python3.8

boto3-1.14.40 botocore-1.17.40

Amazon Linux 2

Python 3.7

python3.7

boto3-1.14.40 botocore-1.17.40

Amazon Linux

Python 3.6

python3.6

boto3-1.14.40 botocore-1.17.40

Amazon Linux

Python 2.7

python2.7

boto3-1.14.40 botocore-1.17.40

Amazon Linux

Les fonctions Lambda utilisent un rôle d'exécution pour obtenir l’autorisation d’écrire des journaux dans Amazon CloudWatch Logs et d’accéder à d'autres services et ressources. Si vous ne possédez pas encore de rôle d'exécution pour le développement de fonctions, créez-en un.

Pour créer un rôle d'exécution

  1. Ouvrez la page Rôles dans la console IAM.

  2. Choisissez Créer un rôle.

  3. Créez un rôle avec les propriétés suivantes :

    • Entité de confianceLambda.

    • AutorisationsAWSLambdaBasicExecutionRole.

    • Nom de rôlelambda-role.

    La stratégie AWSLambdaBasicExecutionRole possède les autorisations dont la fonction a besoin pour écrire des journaux dans CloudWatch Logs.

Vous pouvez ajouter des autorisations pour ce rôle plus tard, ou le remplacer par un autre rôle spécifique à une fonction particulière.

Pour créer une fonction Python

  1. Ouvrez la console Lambda .

  2. Sélectionnez Créer une fonction.

  3. Configurez les paramètres suivants :

    • Nommy-function.

    • ExécutionPython 3.8.

    • RôleSélectionner un rôle existant.

    • Rôle existantlambda-role.

  4. Sélectionnez Créer une fonction.

  5. Pour configurer un événement de test, choisissez Test.

  6. Dans Nom d'événement, saisissez test.

  7. Sélectionnez Créer.

  8. Sélectionnez Test pour appeler la fonction.

La console crée une fonction Lambda avec un seul fichier source nommé lambda_function. Vous pouvez modifier ce fichier et ajouter d'autres fichiers dans l'éditeur de code intégré. Choisissez Save (Enregistrer) pour enregistrer les changements. Puis, choisissez Test pour exécuter votre code.

Note

La console Lambda utilise AWS Cloud9 pour fournir un environnement de développement intégré dans le navigateur. Vous pouvez également utiliser AWS Cloud9 pour développer des fonctions Lambda dans votre propre environnement. Pour plus d'informations, consultez Utilisation des fonctions AWS Lambda dans le guide de l'utilisateur de AWS Cloud9.

Le fichier lambda_function exporte une fonction nommée lambda_handler qui accepte un objet d'événement et un objet de contexte. Il s'agit de la fonction de gestionnaire que Lambda appelle lorsque la fonction est invoquée. L'exécution de la fonction Python obtient les événements d'appels de Lambda et les transmet au gestionnaire. Dans la configuration de fonction, la valeur de gestionnaire est lambda_function.lambda_handler.

Chaque fois que vous enregistrez le code de votre fonction, la console Lambda crée un package de déploiement, qui est une archive ZIP contenant le code de votre fonction. Au fur et à mesure du développement de votre fonction, nous vous conseillons de stocker le code de votre fonction dans le contrôle de code source, d'ajouter des bibliothèques et d'automatiser les déploiements. Commencez par créer un package de déploiement et mettre à jour votre code dans la ligne de commande.

Note

Pour commencer à développer des applications dans votre environnement local, déployez l'un des exemples d'applications disponibles dans le référentiel GitHub de ce guide.

Exemples d'applications Lambda en Python

  • blank-python – Fonction Python qui montre l'utilisation de la journalisation, des variables d'environnement, du suivi AWS X-Ray, des couches, des tests unitaires et du kit SDK AWS.

L'exécution de la fonction transmet un objet de contexte au gestionnaire, en plus de l'événement d'appel. L'objet de contexte contient des informations supplémentaires sur l'appel, la fonction et l'environnement d'exécution. Des informations supplémentaires sont disponibles dans les variables d'environnement.

Votre fonction Lambda s'accompagne d'un groupe de journaux CloudWatch Logs. L’exécution de la fonction envoie des informations sur chaque appel à CloudWatch Logs. Elle transmet tous les journaux que votre fonction génère pendant l’appel. Si votre fonction renvoie une erreur, Lambda met en forme l'erreur et la renvoie au mécanisme d'appel.