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.
Tester les fonctions durables de Lambda
Utilisez les SDK de test d'exécution durable pour exécuter et inspecter les exécutions en local et dans le cloud. Pour la création de tests, d'assertions, le cloud runner, l'intégration de la CLI SAM et des exemples complets, consultez la section Testing in the AWS Durable Execution SDK Developer Guide.
Autorisations IAM pour les tests dans le cloud
Lorsque vous utilisez le cloud runner ou sam remote invoke que vous testez une fonction durable déployée, le principal appelant doit être autorisé à invoquer la fonction et à lire son historique d'exécution. Attachez les autorisations suivantes à votre interlocuteur test :
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "lambda:InvokeFunction", "lambda:GetDurableExecution", "lambda:GetDurableExecutionHistory" ], "Resource": [ "arn:aws:lambda:region:account-id:function:function-name", "arn:aws:lambda:region:account-id:function:function-name:*" ] } ] }
Remplacez regionaccount-id, et function-name par vos valeurs.
Défaillances de débogage
Lorsque les tests échouent, inspectez le résultat de l'exécution pour comprendre ce qui s'est mal passé. Vérifiez l'état d'exécution pour voir si la fonction a réussi, a échoué ou a expiré. Lisez les messages d'erreur pour comprendre la cause de l'échec.
Inspectez les résultats de chaque opération pour trouver les domaines dans lesquels le comportement ne correspondait pas aux attentes. Vérifiez les résultats des étapes pour voir quelles valeurs ont été produites. Vérifiez l'ordre des opérations pour confirmer que les opérations sont exécutées dans l'ordre attendu. Comptez les opérations pour vous assurer que le bon nombre d'étapes, d'attentes et de rappels a été créé.
Les problèmes courants incluent le code non déterministe qui produit des résultats différents lors de la réexécution, l'état partagé par le biais de variables globales qui s'interrompent pendant la rediffusion et les opérations manquantes en raison d'erreurs de logique conditionnelle. Utilisez les débogueurs et la journalisation standard pour parcourir le code de fonction et suivre le flux d'exécution.
Pour les tests dans le cloud, consultez l'historique des exécutions dans CloudWatch les journaux pour consulter les journaux d'opérations détaillés. Utilisez le suivi pour suivre le flux d'exécution entre les services et identifier les goulots d'étranglement.