Au cours de ce week-end, j’exécutais des fonctions de nœud sur aws lambda intégré à dynamodb, im utilisant des rayons x pour le déboguer en créant mes propres annotations. J’aime savoir s’il existe une meilleure approche pour déboguer des fonctions lambda, comme étape?
Lambda local peut être utilisé pour tester le code lambda sur une machine locale.
Rookout propose le débogage en direct de NodeJS sur AWS Lambda. Cela vous donne des points d'arrêt sur la fonction de production pour permettre le débogage par étapes traditionnel. Il existe également de nombreuses solutions de hacky qui exécutent efficacement votre Lambda localement (par exemple, lambda.local, framework sans serveur), mais si vous souhaitez déboguer avec de vraies entrées, le déboguer dans son véritable environnement en utilisant Rookout est une bonne option.
Vous ne serez pas en mesure de procéder à un débogage étape par étape, comme vous le feriez avec un programme normal, en attachant une debugger
. Comme vous l'avez mentionné, vous pouvez utiliser X-Ray et consigner des instructions pour consigner vos erreurs afin de déterminer les erreurs.
Comme @ConfusedCoder l'a souligné, il existe des manières de lancer un lambda localement et de le déboguer.
Mais assurez-vous également que vous avez suffisamment de connexions pour pouvoir essayer de déterminer ce qui ne va pas, pour les problèmes futurs, en utilisant les journaux comme vous le feriez normalement après l'exécution réelle.
Les deux SAM Local et La structure sans serveur fournissent des outils pour exécuter localement une fonction AWS Lambda. Au cas où vous auriez besoin de déboguer votre fonction dans l'environnement AWS, je suggère d'utiliser Cloud9 Cloud9 IDE pour le débogage AWS Lambda .
Cependant, pour déboguer les échecs d’invocation survenus en production, vous pouvez utiliser quelque chose comme: Dashbird pour détecter et déboguer les échecs à l’aide des journaux, des traces de rayons X et d’autres métadonnées.
Vous pouvez maintenant créer des tests dans Lambda même:
Choisissez Test en haut à droite de votre fonction Lambda pour afficher un écran vous permettant de configurer un nouveau test pouvant être exécuté. Vous avez le choix parmi de nombreux exemples de modèles, dont un pour DynamoDB, comme vous l'avez suggéré:
Maintenant, choisissez votre nouveau test et cliquez à nouveau sur le bouton Test. Il s'exécutera immédiatement et vous verrez les résultats de la console sur votre écran, y compris les journaux et les messages d'erreur.