Mi función de AWS Lambda tenía errores intermitentes y quiero usar Registros de Amazon CloudWatch para determinar si se agotó el tiempo de espera de mi función.
Resolución
Cuando se agota el tiempo de espera de una función de Lambda, aparece un mensaje de error Task timed out en los registros de CloudWatch de la invocación fallida, no un mensaje de error. Cuando revises el grupo de registros de CloudWatch de la función de Lambda, busca «Task timed out». Si buscas en los registros solo mensajes de error, la búsqueda solo devolverá errores de tiempo de ejecución relacionados con el código, no errores de tiempo de espera de invocación. Para obtener más información, consulta Supervisión de errores de AWS Lambda mediante Amazon CloudWatch.
Utiliza los ID de solicitud de las invocaciones que han agotado el tiempo de espera asociadas para recuperar los registros completos de cada tiempo de espera de la invocación.
Antes de empezar, asegúrate de que la función de Lambda cuente con los permisos de AWS Identity and Access Management (IAM) necesarios para cargar los registros en Registros de CloudWatch.
Obtención de los ID de solicitud para las invocaciones cuyo tiempo de espera se ha agotado
Sigue estos pasos:
- Abre la consola de Lambda.
- En el panel de navegación, selecciona Funciones.
- Selecciona la función de Lambda y, a continuación, elige la pestaña Supervisar.
- Selecciona Ver registros de CloudWatch para abrir la página de detalles del grupo de registros de la función en la consola de CloudWatch.
- Selecciona Ver en Información de registros.
- En el cuadro de texto de consulta de Información de registros, introduce la siguiente consulta y, a continuación, selecciona Ejecutar consulta:
fields @timestamp, @requestId, @message, @logStream| filter @message like "Task timed out"
| sort @timestamp desc
| limit 100
La respuesta devuelve una lista de los ID de solicitud en la salida Tiempo de espera de la tarea agotado para las invocaciones que han agotado el tiempo de espera.
Para obtener más información, consulta Análisis de datos de registro con Información de registros de CloudWatch.
Nota: Para grupos de registros grandes, agrega una función de fecha y hora a la consulta de Información de registros para limitar el alcance de la búsqueda. Para obtener más información, consulta Sintaxis de consultas de lenguaje de Información de registros de CloudWatch.
Ejecución de consultas de Información de registros de CloudWatch para los ID de solicitud
Nota: Las consultas de Información de registros de CloudWatch conllevan cargos en función de la cantidad de datos que consultes. Para obtener más información, consulta Precios de Amazon CloudWatch.
A continuación, utiliza los ID de solicitud de las invocaciones que han agotado el tiempo de espera para recuperar los registros completos de cada tiempo de espera de la invocación. Puedes crear una consulta para buscar en todos los registros los ID de solicitud específicos. Para obtener más información, consulta Análisis de registros y registros estructurados.
Para solucionar cualquier error de tiempo de espera que identifiques, consulta ¿Cómo soluciono los errores de tiempo de espera de la invocación de funciones de Lambda?