Prácticas recomendadas para las funciones duraderas de Lambda
Las funciones duraderas utilizan un modelo de ejecución basado en la reproducción que requiere prácticas de programación diferentes a las de las funciones de Lambda tradicionales. Consulte las Prácticas recomendadas en la Guía para desarrolladores del SDK de ejecución duradera de AWS para obtener orientación sobre cómo escribir y probar código de flujo de trabajo duradero.
Las siguientes recomendaciones son prácticas recomendadas para implementar, invocar y supervisar las funciones duraderas de Lambda.
Versiones y alias de la función
Invoque funciones con alias o números de versión para fijar las ejecuciones a versiones de código específicas. Asegúrese de que las nuevas versiones del código puedan gestionar el estado de las versiones anteriores. No cambie el nombre de los pasos ni su comportamiento de forma que interfiera con la reproducción.
Supervisión
Habilite el registro estructurado con los identificadores de ejecución y los nombres de los pasos. Configuración de las alarmas de CloudWatch para conocer las tasas de error y la duración de la ejecución. Uso de la trazabilidad para identificar cuellos de botella. Para obtener una guía detallada, consulte Supervisión y depuración.
Gestión de errores
Además de configurar estrategias de reintento para los errores transitorios, configure una cola de mensajes fallidos (DLQ) en la función duradera para capturar los eventos de las ejecuciones que hayan fallado de forma permanente. Cuando, después de una invocación asíncrona, una ejecución duradera alcanza un estado terminal (FAILED, STOPPED o TIMED_OUT), Lambda envía a la cola de mensajes fallidos el evento original que desencadenó la ejecución. Esto permite examinar, depurar y, de manera opcional, volver a procesar los eventos con errores sin perderlos.
Para configurar una cola de mensajes fallidos, establezca la propiedad DeadLetterConfig de la función en el ARN de una cola de Amazon SQS o de un tema de Amazon SNS. Para obtener más información, consulte Colas de mensajes fallidos.
Siga estas prácticas recomendadas para gestionar los errores con funciones duraderas:
-
Configuración de una cola de mensajes fallidos para invocaciones asíncronas: asocie siempre una cola de mensajes fallidos cuando invoque funciones duraderas de forma asíncrona. A diferencia de las funciones estándar de Lambda, las ejecuciones duraderas no se reintentan automáticamente cuando fallan, por lo que la cola de mensajes fallidos actúa como mecanismo de respaldo para capturar los eventos que dieron lugar a ejecuciones que fallaron de forma permanente.
-
Uso de estrategias de reintento en los pasos: configure estrategias de reintento explícitas con un retroceso adecuado para los errores transitorios. Para obtener instrucciones sobre la configuración de los reintentos, consulte Reintentos para funciones duraderas.
-
Combinación de cola de mensajes fallidos con notificaciones de EventBridge: utilice reglas de EventBridge para generar alertas ante cambios a los estados FAILED, STOPPED y TIMED_OUT, lo que permite obtener visibilidad en tiempo real. Utilice también una cola de mensajes fallidos para conservar la carga útil original del evento y analizarla o volver a procesarla posteriormente.
-
Supervisión de la profundidad de la cola de mensajes fallidos: cree una alarma de CloudWatch para la métrica
ApproximateNumberOfMessagesVisiblede la cola de mensajes fallidos a fin de detectar la acumulación de errores.