View a markdown version of this page

Configurer les fonctions durables de 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.

Configurer les fonctions durables de Lambda

Les paramètres d'exécution durables contrôlent la durée d'exécution de votre fonction Lambda et la durée pendant laquelle le service conserve l'historique des exécutions. Configurez ces paramètres pour permettre une exécution durable de votre fonction.

Permettre une exécution durable

Configurez l'DurableConfigobjet lors de la création de votre fonction pour définir le délai d'exécution et la conservation de l'historique. Vous ne pouvez activer l'exécution durable que lors de la création d'une fonction. Vous ne pouvez pas l'activer sur les fonctions existantes.

AWS CLI
aws lambda create-function \ --function-name my-durable-function \ --runtime nodejs24.x \ --role arn:aws:iam::123456789012:role/my-durable-role \ --handler index.handler \ --zip-file fileb://function.zip \ --durable-config '{"ExecutionTimeout": 3600, "RetentionPeriodInDays": 30}'
CloudFormation
Resources: MyDurableFunction: Type: AWS::Lambda::Function Properties: FunctionName: my-durable-function Runtime: nodejs24.x Handler: index.handler Code: ZipFile: | // Your durable function code DurableConfig: ExecutionTimeout: 3600 RetentionPeriodInDays: 30

Paramètres de configuration :

  • ExecutionTimeout— Durée maximale en secondes pendant laquelle une exécution durable peut être exécutée avant que Lambda n'arrête l'exécution. Ce délai s'applique à l'ensemble de l'exécution durable, et non aux invocations de fonctions individuelles. Plage valide : 1—31622400.

  • RetentionPeriodInDays— Le nombre de jours nécessaires pour conserver l'historique des exécutions après la fin d'une exécution durable. Après cette période, l'historique des exécutions n'est plus disponible via l'GetDurableExecutionHistoryAPI. Plage valide : 1 à 90.

Pour la référence complète de l'API, voir la référence DurableConfigde l'API Lambda.

Bonnes pratiques en matière de configuration

Suivez les meilleures pratiques suivantes lors de la configuration de fonctions durables pour une utilisation en production :

  • Définissez des délais d'exécution appropriés : configurez ExecutionTimeout en fonction de la durée maximale prévue de votre flux de travail. Ne fixez pas de délais d'attente inutilement longs, car ils affectent les coûts et l'allocation des ressources.

  • Équilibrez la rétention avec les coûts de stockage : définissez les RetentionPeriodInDays paramètres en fonction de vos exigences en matière de débogage et d'audit. Des périodes de conservation plus longues augmentent les coûts de stockage.

  • Taille de l'état du moniteur : les objets à état volumineux augmentent les coûts de stockage et peuvent avoir un impact sur les performances. Maintenez l'état minimal et utilisez un stockage externe pour les données volumineuses.

  • Configurer une journalisation appropriée : activez la journalisation détaillée pour résoudre les problèmes liés aux flux de travail de longue durée, mais tenez compte de l'impact sur le volume des journaux et les coûts.

Exemple de configuration de production :

{ "ExecutionTimeout": 86400, "RetentionPeriodInDays": 7 }

Cet exemple définit un délai d'exécution de 24 heures (86 400 secondes) avec une période de rétention de 7 jours, ce qui permet d'équilibrer la visibilité du débogage et les coûts de stockage pour la plupart des charges de travail de production.