Actualmente estoy usando una función Lambda escrita en Javascript que está configurada con una fuente de eventos SQS para extraer automáticamente mensajes de una cola SQS y realizar un procesamiento básico en el contenido del mensaje. No puedo mostrar el código pero el resumen de la ejecución de la función lambda es básicamente:
Para cada mensaje del lote que recibe como parte del evento:
getObject .put .deleteMessage .Esta cola de SQS es de gran volumen y recibe mensajes a granel, lo que genera regularmente una acumulación de millones de mensajes. Lambda normalmente puede escalar para procesar cientos de miles de mensajes al mismo tiempo. Esta solución me ha funcionado bien con otras aplicaciones en el pasado, pero ahora encuentro el siguiente error intermitente que comienza a aparecer de manera confiable a medida que Lambda se amplía:
[ERROR] [#############] LAMBDA_RUNTIME Failed to post handler success response. Http response code: 400.No he podido encontrar ninguna información en ninguna parte sobre lo que significa este error y qué lo causa. Parece que no hay un patrón discernible en cuanto a qué ejecuciones lo encuentran. La función generalmente puede ejecutarse durante un breve período sin encontrar el error y escalar a los niveles esperados. Pero luego, como puede ver, el error comienza a aparecer de repente y destruye por completo el rendimiento de Lambda al obligarlo a reducirse automáticamente:


¿Alguien sabe qué significa este error "LAMBDA_RUNTIME" y qué podría causarlo? El tiempo de ejecución de mi función Lambda es Node v12.
Su función se invoca de forma asincrónica, por lo que cuando finaliza, indica a la persona que llama si tuvo éxito. Debería tener un error algunos milisegundos antes, probablemente una excepción no controlada que no se registra. Si ese es el caso, sus funciones terminan sin conocer la excepción e intenta publicar una respuesta exitosa.
Tengo este error solo que me sale:
[ERROR] [1638918279694] LAMBDA_RUNTIME Failed to post handler success response. Http response code: 413.
Fui a la función lambda en la consola aws y ejecuté la prueba con un evento personalizado que construí y el error que obtuve fue:
{ "errorMessage": "Response payload size exceeded maximum allowed payload size (6291556 bytes).", "errorType": "Function.ResponseSizeTooLarge" }Entonces, este es el error real que Cloudwatch no devuelve, pero sí lo hace la sección de prueba de la consola de funciones lambda.
Creo que tendré que devolver la información a un archivo S3 o algo así, pero ese es otro asunto.