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.
Runtimes pris en charge pour des fonctions durables
Des fonctions durables sont disponibles pour les environnements d'exécution Node.js et Python. Vous pouvez créer des fonctions durables à l'aide d'environnements d'exécution gérés dans la console Lambda ou les déployer à l'aide d'images de conteneur pour une flexibilité accrue des versions d'exécution.
Runtimes gérés par Lambda
Les environnements d'exécution gérés suivants prennent en charge les fonctions durables lorsque vous créez des fonctions dans la console Lambda ou que vous utilisez AWS CLI le paramètre with --durable-config '{"ExecutionTimeout": 10, "RetentionPeriodInDays":1}' the. Pour des informations complètes sur les environnements d'exécution Lambda, consultez la section Runtimes Lambda.
| Language | Environnement d’exécution |
|---|---|
| Node.js | nodejs22.x |
| Node.js | nodejs24.x |
| Python | python3.13 |
| Python | python3,14 |
Note
Les environnements d'exécution Lambda incluent le SDK d'exécution durable pour les tests et le développement. Toutefois, nous vous recommandons d'inclure le SDK dans votre package de déploiement pour la production. Cela garantit la cohérence des versions et évite les mises à jour d'exécution potentielles susceptibles d'affecter le comportement de votre fonction.
Node.js
Installez le SDK dans votre projet Node.js :
npm install @aws/durable-execution-sdk-js
Le SDK prend en charge JavaScript et. TypeScript Pour les TypeScript projets, le SDK inclut des définitions de type.
Python
Installez le SDK dans votre projet Python :
pip install aws-durable-execution-sdk-python
Le SDK Python utilise des méthodes synchrones et n'en nécessite pas. async/await
Images de conteneurs
Vous pouvez utiliser des fonctions durables avec des images de conteneur pour prendre en charge des versions d'exécution supplémentaires ou des configurations d'exécution personnalisées. Les images de conteneur vous permettent d'utiliser des versions d'exécution non disponibles en tant que moteurs d'exécution gérés ou de personnaliser votre environnement d'exécution.
Pour créer une fonction durable à l'aide d'une image de conteneur :
Création d'un Dockerfile basé sur une image de base Lambda
Installez le SDK d'exécution durable dans votre conteneur
Créez et transférez l'image du conteneur vers Amazon Elastic Container Registry
Créez la fonction Lambda à partir de l'image du conteneur avec l'exécution durable activée
Exemple de conteneur Python
Créez un Dockerfile pour Python 3.11 :
FROM public.ecr.aws/lambda/python:3.11 # Copy requirements file COPY requirements.txt ${LAMBDA_TASK_ROOT}/ # Install dependencies including durable SDK RUN pip install -r requirements.txt # Copy function code COPY lambda_function.py ${LAMBDA_TASK_ROOT}/ # Set the handler CMD [ "lambda_function.handler" ]
Créez un requirements.txt fichier :
aws-durable-execution-sdk-python
Créez et publiez l'image :
# Build the image docker build -t my-durable-function . # Tag for ECR docker tag my-durable-function:latest 123456789012.dkr.ecr.us-east-1.amazonaws.com/my-durable-function:latest # Push to ECR docker push 123456789012.dkr.ecr.us-east-1.amazonaws.com/my-durable-function:latest
Créez la fonction avec l'exécution durable activée :
aws lambda create-function \ --function-name myDurableFunction \ --package-type Image \ --code ImageUri=123456789012.dkr.ecr.us-east-1.amazonaws.com/my-durable-function:latest \ --role arn:aws:iam::123456789012:role/lambda-execution-role \ --durable-config '{"ExecutionTimeout": 10, "RetentionPeriodInDays":1}'
Pour plus d'informations sur l'utilisation d'images de conteneur avec Lambda, consultez la section Création d'images de conteneur Lambda dans le guide du développeur Lambda.
Considérations relatives à l’exécution
Gestion des versions du SDK : incluez le SDK d'exécution durable dans votre package de déploiement ou votre image de conteneur. Cela garantit que votre fonction utilise une version spécifique du SDK et n'est pas affectée par les mises à jour d'exécution. Épinglez les versions du SDK dans votre package.json ou requirements.txt pour contrôler lors de la mise à niveau.
Mises à jour d'exécution : AWS met à jour les environnements d'exécution gérés pour inclure des correctifs de sécurité et des corrections de bogues. Ces mises à jour peuvent inclure de nouvelles versions du SDK. Pour éviter tout comportement inattendu, incluez le SDK dans votre package de déploiement et testez-le de manière approfondie avant de le déployer en production.
Taille de l'image du conteneur : les images du conteneur ont une taille non compressée maximale de 10 Go. Le SDK d'exécution durable ajoute une taille minimale à votre image. Optimisez votre conteneur en utilisant des builds en plusieurs étapes et en supprimant les dépendances inutiles.
Performances de démarrage à froid : les images de conteneur peuvent avoir des temps de démarrage à froid plus longs que les temps d'exécution gérés. Le SDK d'exécution durable a un impact minimal sur les performances de démarrage à froid. Utilisez la simultanéité provisionnée si la latence de démarrage à froid est essentielle pour votre application.