Fonctions durables 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.

Fonctions durables Lambda

Les fonctions durables de Lambda vous permettent de créer des applications résilientes en plusieurs étapes et des flux de travail d'IA pouvant être exécutés pendant un an tout en maintenant une progression fiable malgré les interruptions. Lorsqu'une fonction durable est exécutée, ce cycle de vie complet est appelé exécution durable, qui utilise des points de contrôle pour suivre la progression et rétablir automatiquement les défaillances par le biais d'une rediffusion, en la réexécutant depuis le début tout en omettant le travail terminé.

Dans chaque fonction, vous utilisez des opérations durables comme éléments fondamentaux. Les étapes exécutent la logique métier grâce aux nouvelles tentatives intégrées et au suivi de la progression, tandis que les temps d'attente suspendent l'exécution sans frais de calcul, ce qui les rend idéales pour les processus de longue durée tels que les human-in-the-loop flux de travail ou l'analyse des dépendances externes. Qu'il s'agisse de traiter des commandes, de coordonner des microservices ou d'orchestrer des applications d'IA agentic, les fonctions durables maintiennent automatiquement l'état et se rétablissent en cas de panne pendant que vous écrivez du code dans des langages de programmation familiers.

Principaux avantages

Écrivez du code résilient naturellement : avec des structures de programmation familières, vous pouvez écrire du code qui gère automatiquement les défaillances. Grâce au point de contrôle intégré, aux nouvelles tentatives transparentes et à la restauration automatique, votre logique métier reste claire et ciblée.

Payez uniquement pour ce que vous utilisez : pendant les opérations d'attente, votre fonction est suspendue sans frais de calcul. Pour les flux de travail de longue durée qui attendent des heures ou des jours, vous ne payez que pour le temps de traitement réel, et non pour les temps d'attente inactifs.

Simplicité opérationnelle : avec le modèle sans serveur de Lambda, vous bénéficiez d'une mise à l'échelle automatique scale-to-zero, y compris sans gérer l'infrastructure. Les fonctions durables gèrent automatiquement la gestion des états, la logique des nouvelles tentatives et la reprise en cas de panne, réduisant ainsi les frais opérationnels.

Comment ça marche

En résumé, les fonctions durables sont des fonctions Lambda classiques utilisant un checkpoint/replay mécanisme permettant de suivre les progrès et de soutenir les opérations de longue durée grâce à des points de suspension définis par l'utilisateur, communément appelés « exécution durable ». Lorsqu'une fonction durable reprend après un point d'attente ou une interruption, comme de nouvelles tentatives, le système effectue une rediffusion. Pendant la rediffusion, votre code s'exécute depuis le début mais ignore les points de contrôle terminés, utilisant les résultats enregistrés au lieu de réexécuter les opérations terminées. Ce mécanisme de rediffusion garantit la cohérence tout en permettant des exécutions de longue durée.

Une fois que votre fonction a repris après une pause ou une interruption, le système effectue une rediffusion. Pendant la rediffusion, votre code s'exécute depuis le début mais ignore les points de contrôle terminés, utilisant les résultats enregistrés au lieu de réexécuter les opérations terminées. Ce mécanisme de rediffusion garantit la cohérence tout en permettant des exécutions de longue durée.

Pour exploiter ce checkpoint-and-replay mécanisme dans vos applications, Lambda fournit un SDK d'exécution durable. Le SDK élimine la complexité de la gestion des points de contrôle et de la rediffusion en exposant des primitives simples appelées opérations durables que vous utilisez dans votre code. Le SDK est disponible pour JavaScript Python et s'intègre parfaitement à votre flux de travail de développement Lambda existant. TypeScript

Avec le SDK, vous pouvez encapsuler votre gestionnaire d'événements Lambda, qui fournit ensuite DurableContext un lien avec votre événement. Ce contexte vous donne accès à des opérations durables telles que les étapes et les attentes. Vous écrivez la logique de votre fonction sous forme de code séquentiel normal, mais au lieu d'appeler directement les services, vous regroupez ces appels par étapes pour des points de contrôle et des tentatives automatiques. Lorsque vous devez suspendre l'exécution, vous ajoutez des temps d'attente qui suspendent votre fonction sans encourir de frais. Le SDK gère toute la complexité de la gestion des états et de la rediffusion en arrière-plan, afin que votre code reste propre et lisible.

Filter for Amazon Inspector results related to Lambda functions

Quand utiliser des fonctions durables

Coordination de courte durée : coordonnez les paiements, les stocks et les expéditions entre plusieurs services avec annulation automatique en cas de panne. Traitez les commandes par le biais de la validation, de l'autorisation de paiement, de l'allocation des stocks et de l'exécution avec une garantie d'exécution.

Traitez les paiements en toute confiance : créez des flux de paiement résilients qui maintiennent l'état des transactions en cas d'échec et gèrent automatiquement les nouvelles tentatives. Coordonnez l'autorisation en plusieurs étapes, les contrôles antifraude et le règlement entre les fournisseurs de paiement avec une auditabilité totale à chaque étape.

Créez des flux de travail d'IA fiables : créez des flux de travail d'IA en plusieurs étapes qui enchaînent les appels, intègrent les commentaires humains et gèrent les tâches de longue durée de manière déterministe en cas de panne. Reprenez automatiquement après la suspension et ne payez que pour le temps d'exécution actif.

Orchestrez le traitement des commandes complexes : coordonnez le traitement des commandes entre les systèmes d'inventaire, de paiement, d'expédition et de notification grâce à une résilience intégrée. Gérez automatiquement les défaillances partielles, préservez l'état des commandes malgré les interruptions et attendez efficacement les événements externes sans consommer de ressources informatiques.

Automatisez les flux de travail commerciaux en plusieurs étapes : créez des flux de travail fiables pour l'intégration des employés, l'approbation des prêts et les processus de conformité qui s'étendent sur des jours ou des semaines. Maintenez l'état du flux de travail lors des approbations humaines, des intégrations de systèmes et des tâches planifiées tout en offrant une visibilité complète sur l'état et l'historique des processus.

Étapes suivantes