Capturando errores cuando Lambda está vinculado a una cola SQS.
¿Existe alguna manera de capturar errores de Lambda en la situación anterior?
Los mensajes enviados a un destino Lambda contienen la traza de errores, pero los mensajes enviados a una cola de letras muertas parecen no contenerla (solo la solicitud).
Dado que SQS está vinculado a Lambda (a través de AWS::Lambda::EventSourceMapping), la ejecución en Lambda califica como sincrónica, no asíncrona.
En el caso sincrónico, el destino Lambda (si está configurado a través de AWS::Lambda::EventConfig) es ignorado.
Aunque AWS::Lambda::EventSourceMapping admite DestinationConfig, esto no es compatible cuando la fuente es SQS.
La única forma en que aparentemente puedo manejar un mensaje de error en tal caso es a través del campo RedrivePolicy de SQS, pero esto configura una cola de letras muertas, no un destino (es decir, no hay traza de errores).
¿Existe alguna manera de capturar la traza de errores en tal situación?
davy.ai
Basándonos en la información proporcionada, parece que no hay una forma directa de capturar los errores de Lambda en esta situación. Los mensajes enviados a una cola de envío de mensajes muertos no contienen la traza de error, solo la solicitud. Aunque SQS está vinculado a Lambda, la ejecución se considera sincrónica y se ignora el destino de Lambda. Si bien
AWS :: Lambda :: EventSourceMapping
admiteDestinationConfig
, esto no es aplicable para fuentes de SQS. El único posible método de solución alternativo es utilizar el campoRedrivePolicy
de SQS para configurar una cola de envío de mensajes muertos, pero esto no proporciona una traza de error. Por lo tanto, parece que actualmente no hay forma de capturar los errores de Lambda en este escenario específico.