Sélectionner vos préférences de cookies

Nous utilisons des cookies essentiels et des outils similaires qui sont nécessaires au fonctionnement de notre site et à la fourniture de nos services. Nous utilisons des cookies de performance pour collecter des statistiques anonymes afin de comprendre comment les clients utilisent notre site et d’apporter des améliorations. Les cookies essentiels ne peuvent pas être désactivés, mais vous pouvez cliquer sur « Personnaliser » ou « Refuser » pour refuser les cookies de performance.

Si vous êtes d’accord, AWS et les tiers approuvés utiliseront également des cookies pour fournir des fonctionnalités utiles au site, mémoriser vos préférences et afficher du contenu pertinent, y compris des publicités pertinentes. Pour accepter ou refuser tous les cookies non essentiels, cliquez sur « Accepter » ou « Refuser ». Pour effectuer des choix plus détaillés, cliquez sur « Personnaliser ».

Création de fonctions Lambda avec Python

Mode de mise au point
Création de fonctions Lambda avec Python - 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.

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.

Vous pouvez exécuter du code Python dans AWS Lambda. Lambda fournit des runtimes pour Python qui exécutent votre code afin de traiter des événements. Votre code s'exécute dans un environnement qui inclut le SDK pour Python (Boto3), avec les informations d'identification d'un rôle (IAM) que vous AWS Identity and Access Management gérez. Pour en savoir plus sur les versions du kit SDK incluses dans les environnements d’exécution Python, consultez Versions du SDK incluses dans l’environnement d’exécution.

Lambda prend en charge les runtimes Python suivants.

Nom Identifiant Système d’exploitation Date d’obsolescence Créer la fonction de blocage Mettre à jour la fonction de blocage

Python 3.13

python3.13

Amazon Linux 2023

30 juin 2029

31 juillet 2029

31 août 2029

Python 3.12

python3.12

Amazon Linux 2023

31 octobre 2028

30 novembre 2028

10 janvier 2029

Python 3.11

python3.11

Amazon Linux 2

30 juin 2026

31 juillet 2026

31 août 2026

Python 3.10

python3.10

Amazon Linux 2

30 juin 2026

31 juillet 2026

31 août 2026

Python 3.9

python3.9

Amazon Linux 2

3 novembre 2025

8 déc. 2025

8 janvier 2026

Pour créer une fonction Python
  1. Ouvrez la console Lambda.

  2. Sélectionnez Créer une fonction.

  3. Configurez les paramètres suivants :

    • Nom de la fonction : saisissez le nom de la fonction.

    • Environnement d’exécution : sélectionnez Python 3.13.

  4. Sélectionnez Create function (Créer une 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é. Dans la section DÉPLOYER, choisissez Déployer pour mettre à jour le code de votre fonction. Ensuite, pour exécuter votre code, choisissez Créer un événement de test dans la section ÉVÉNEMENTS DE TEST.

Votre fonction Lambda est fournie avec un groupe de CloudWatch journaux Logs. La fonction runtime envoie les détails de chaque appel à CloudWatch Logs. Il relaie tous les journaux que votre fonction génère pendant l’invocation. Si votre fonction renvoie une erreur, Lambda met en forme l’erreur et la renvoie à l’appelant.

Versions du SDK incluses dans l’environnement d’exécution

La version du AWS SDK incluse dans le runtime Python dépend de la version d'exécution et de votre Région AWS. Pour trouver la version du kit SDK incluse dans l’environnement d’exécution que vous utilisez, créez une fonction Lambda avec le code suivant.

import boto3 import botocore def lambda_handler(event, context): print(f'boto3 version: {boto3.__version__}') print(f'botocore version: {botocore.__version__}')

Fonctionnalités expérimentales de Python 3.13

L’environnement d’exécution géré et les images de base de Python 3.13 ne prennent pas en charge les fonctionnalités expérimentales suivantes. Vous ne pouvez pas activer ces fonctionnalités en utilisant les indicateurs d’environnement d’exécution. Pour utiliser ces fonctionnalités dans une fonction Lambda, vous devez déployer un environnement d’exécution personnalisé ou une image de conteneur contenant votre propre version de Python 3.13.

Format de la réponse

Dans les environnements d'exécution Python 3.12 et versions ultérieures, les fonctions renvoient des caractères Unicode dans le cadre de leur réponse JSON. Les environnements d'exécution Python antérieurs renvoyaient des séquences échappées pour les caractères Unicode dans les réponses. Par exemple, dans Python 3.11, si vous renvoyez une chaîne Unicode telle que »こんにちは«, il échappe aux caractères Unicode et renvoie « \ u3053 \ u3093 \ u306b \ u3061 \ u306f ». Le runtime Python 3.12 renvoie l'original »こんにちは".

L'utilisation de réponses Unicode réduit la taille des réponses Lambda, ce qui facilite l'adaptation de réponses plus importantes à la taille de charge utile maximale de 6 Mo pour les fonctions synchrones. Dans l'exemple précédent, la version échappée est de 32 octets, contre 17 octets pour la chaîne Unicode.

Lors de la mise à niveau vers Python 3.12 ou à une version ultérieure de l’environnement d’exécution Python, vous devrez peut-être ajuster votre code pour tenir compte du nouveau format de réponse. Si l'appelant s'attend à une chaîne Unicode échappée, vous devez soit ajouter du code à la fonction de renvoi pour échapper l'Unicode manuellement, soit ajuster l'appelant pour qu'il gère le retour Unicode.

Arrêt progressif pour les extensions

Les environnements d’exécution Python 3.12 et versions ultérieures offrent des fonctionnalités d'arrêt progressif améliorées pour les fonctions dotées d'extensions externes. Quand Lambda arrête l'exécution, il envoie un signal SIGTERM à l'exécution, puis un événement SHUTDOWN à chaque extension externe enregistrée. Vous pouvez intercepter le signal SIGTERM dans votre fonction Lambda et nettoyer les ressources telles que les connexions de base de données créées par la fonction.

Pour en savoir plus sur le cycle de vie de l'environnement d'exécution, veuillez consulter Comprendre le cycle de vie de l'environnement d'exécution Lambda. Pour des exemples d'utilisation de l'arrêt progressif avec des extensions, consultez le GitHub référentiel AWS Samples.

Rubrique suivante :

Handler (Gestionnaire)

Rubrique précédente :

Tracing
ConfidentialitéConditions d'utilisation du sitePréférences de cookies
© 2025, Amazon Web Services, Inc. ou ses affiliés. Tous droits réservés.