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
Grâce à des fonctions AWS Lambda durables, vous pouvez créer des applications résilientes en plusieurs étapes et des flux de travail d'IA qui peuvent être exécutés pendant une période allant jusqu'à 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écupérer automatiquement les défaillances par le biais d'une relecture, en réexécutant depuis le début tout en sautant le travail terminé.
Dans chaque fonction, vous utilisez des opérations durables comme éléments de base fondamentaux. Les étapes exécutent une logique métier avec des nouvelles tentatives intégrées et un suivi de la progression, tandis que les temps d'attente interrompent l'exécution sans entraîner de frais de calcul, ce qui les rend idéales pour les processus de longue durée tels que les flux de travail interconnectés ou les interrogations de dépendances externes. Qu'il s'agisse de traiter des commandes, de coordonner des microservices ou d'orchestrer des applications d'IA agentiques, les fonctions durables maintiennent l'état automatiquement et se rétablissent en cas de panne pendant que vous écrivez du code dans des langages de programmation familiers.
Note
Ce guide couvre les sujets relatifs aux services Lambda tels que le déploiement, la configuration, les autorisations, l'invocation, la surveillance et les quotas. Pour obtenir des informations de référence sur la programmation du SDK, des didacticiels de démarrage rapide et des guides spécifiques à chaque langue, consultez le Guide du développeur du SDK AWS Durable Execution.
Principaux avantages
Écrivez du code résilient naturellement : avec des structures de programmation familières, vous écrivez du code qui gère automatiquement les échecs. Built-in les points de contrôle, les nouvelles tentatives transparentes et la restauration automatique garantissent que votre logique métier reste claire et précise.
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, y compris une mise à l'échelle à zéro, sans gérer l'infrastructure. Les fonctions durables gèrent automatiquement la gestion de l'état, la logique des nouvelles tentatives et la reprise après panne, réduisant ainsi les frais opérationnels.
Quand utiliser des fonctions durables
Short-lived coordination : Coordonnez les paiements, les stocks et les expéditions entre plusieurs services avec une annulation automatique en cas de panne. Traitez les commandes par le biais de la validation, de l'autorisation de paiement, de la répartition des stocks et de l'exécution avec garantie d'achèvement.
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é complète à 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 de modèles, intègrent le feedback humain et gèrent les tâches de longue durée de manière déterministe en cas de défaillance. 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 de la commande malgré les interruptions et attendez efficacement les événements externes sans consommer de ressources de calcul.
Automatisez les flux de travail 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 en ce qui concerne les approbations humaines, les intégrations de systèmes et les tâches planifiées, tout en offrant une visibilité complète sur l'état et l'historique des processus.
Comparaison entre les fonctions durables et les fonctions Step
Les fonctions durables et Step Functions permettent d'orchestrer le flux de travail avec une gestion automatique de l'état. Les principales différences résident dans leur mode d'exécution et dans la manière dont vous définissez les flux de travail :
-
Fonctions durables : exécutées dans Lambda, utilisation de langages de programmation standard, gestion dans un environnement Lambda
-
Fonctions de l'étape : service autonome, DSL ou concepteur visuel basé sur des graphiques, entièrement géré sans maintenance
Les fonctions durables sont idéales pour le développement d'applications dans Lambda, où les flux de travail sont étroitement liés à la logique métier. Step Functions excelle dans l'orchestration des flux de travail pour tous les AWS services nécessitant une conception visuelle, des intégrations natives à plus de 220 services et une infrastructure ne nécessitant aucune maintenance.
Pour une comparaison détaillée, voir Fonctions durables ou Fonctions par étapes.
Comment ça marche
Sous le capot, 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. Une fois que votre fonction reprend après une pause ou une interruption, le système effectue une rediffusion. Pendant le replay, votre code s'exécute depuis le début mais ignore les points de contrôle terminés, en 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 mécanisme de point de contrôle et de relecture dans vos applications, Lambda fournit un SDK d'exécution durable. Le SDK simplifie la gestion des points de contrôle et des rediffusions, en exposant de simples primitives appelées opérations durables que vous utilisez dans votre code. Le SDK est disponible pour JavaScript Python et Java et s'intègre parfaitement à votre flux de travail de développement Lambda existant. TypeScript
Avec le SDK, vous encapsulez votre gestionnaire d'événements Lambda, qui fournit ensuite un élément à DurableContext côté de 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 la forme d'un code séquentiel normal, mais au lieu d'appeler directement les services, vous encapsulez ces appels par étapes pour des points de contrôle automatiques et des nouvelles tentatives. Lorsque vous devez suspendre l'exécution, vous ajoutez des temps d'attente qui interrompent votre fonction sans frais. Le SDK gère toute la complexité de la gestion des états et de la relecture en arrière-plan, afin que votre code reste propre et lisible.
Étapes suivantes
AWS Guide du développeur du SDK Durable Execution : référence du SDK, démarrages rapides, tests et guides linguistiques