Prueba de funciones duraderas de Lambda
Utilice los SDK de prueba de ejecución duradera para ejecutar e inspeccionar las ejecuciones de forma local y en la nube. Para obtener información sobre la creación de pruebas, afirmaciones, el ejecutor en la nube, la integración con la CLI de SAM y ejemplos completos, consulte Pruebas en la Guía para desarrolladores del SDK de ejecución duradera de AWS.
Permisos de IAM para pruebas en la nube
Cuando utiliza el servidor en la nube o sam remote invoke para probar una función duradera implementada, la entidad principal que realiza la llamada necesita permiso para invocar la función y leer su historial de ejecución. Adjunte los siguientes permisos al llamador de pruebas:
{ "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:*" ] } ] }
Sustituya region, account-id y function-name por sus valores.
Fallos de depuración
En caso de error en las pruebas, inspeccione el resultado de la ejecución para comprender qué salió mal. Compruebe el estado de la ejecución para ver si la función fue satisfactoria, fallida o se agotó el tiempo de espera. Lea los mensajes de error para comprender la causa del error.
Inspeccione los resultados de cada operación para determinar en qué momento el comportamiento se desvió de las expectativas. Compruebe los resultados de los pasos para ver qué valores se produjeron. Verifique el orden de las operaciones para confirmar que las operaciones se ejecutaron en la secuencia esperada. Cuente las operaciones para garantizar que se haya creado el número correcto de pasos, esperas y devoluciones de llamada.
Los problemas más frecuentes incluyen un código no determinista que produce resultados diferentes en la reproducción, un estado compartido a través de variables globales que se interrumpe durante la reproducción y la falta de operaciones debido a errores de lógica condicional. Utilice depuradores y registros estándar para examinar el código de la función y realizar un seguimiento del flujo de ejecución.
Para las pruebas en la nube, inspeccione el historial de ejecución en Registros de CloudWatch para ver los detalles de los registros de operaciones. Utilice el seguimiento para seguir el flujo de ejecución en todos los servicios e identificar los cuellos de botella.