¿Cómo puedo solucionar los errores de «salida de la versión ejecutable» de la función de Lambda?

3 minutos de lectura
0

Mi función de AWS Lambda ha devuelto un error de «salida de la versión ejecutable».

Descripción breve

Los errores de versión ejecutable de Lambda devuelven un código de estado similar al siguiente:

{
    "errorType": "Runtime.ExitError",
    "errorMessage": "RequestId: 1234aa1b-cd50-6c78-90cd-ce1234ce9950 Error: Runtime exited with error: exit status 129"
}

Resolución

Siga estas prácticas recomendadas para revisar el código de la función de Lambda, identificar la causa principal y, a continuación, solucionar el error de la versión ejecutable.

  • Compruebe el código de la función para ver si hay códigos de salida que llamen explícitamente sintaxis como process.exit(0), exit(), quit(), os.Exit(), Environment.Exit(), etc. Si el código de función contiene alguno de estos códigos de salida, elimínelos o sustitúyalos por una afirmación de devolución válida.
  • Revise los Registros de Amazon CloudWatch de la función de Lambda y compruebe la memoria de las funciones. Lambda asigna la potencia de la CPU en proporción a la cantidad de memoria configurada. Es posible que tenga que aumentar la cantidad de memoria. Puede configurar la cantidad de memoria asignada a una función de Lambda entre 128 MB y 10 240 MB. También puede optimizar el código para reducir la cantidad de recursos consumidos. Para obtener más información, consulte Memoria y potencia de computación.
  • Si la función se conecta a bases de datos del backend, es posible que se produzcan demasiadas conexiones. Para evitar conexiones innecesarias, inicie las conexiones a la base de datos fuera del controlador de funciones. Las solicitudes posteriores de invocación de funciones de Lambda pueden reutilizar estas conexiones de bases de datos. Para obtener más información, consulte Prácticas recomendadas para trabajar con funciones de AWS Lambda.
  • Los intentos de reutilizar una conexión inactiva al invocar una función de Lambda producen un error de conexión. Para mantener una conexión persistente, utilice la directiva keep-alive asociada a su versión ejecutable. Para obtener más información, consulte Reutilizar conexiones con keep-alive en Node.js.
  • Compruebe si la función de Lambda tiene errores de «memoria insuficiente» debido al límite de 1024 descriptores de archivos y subprocesos. Active el control mejorado de Lambda Insights en la función. Puede buscar y analizar datos de registro para obtener métricas de uso de memoria mediante una sintaxis de consulta especializada. Por ejemplo, puede supervisar la métrica fd_use. Las métricas se almacenan en el nombre del grupo de registro /aws/lambda-insights. Para obtener más información, consulte Métricas recopiladas por Lambda Insights.

Información relacionada

¿Cómo puedo determinar si mi función de Lambda está agotando el tiempo de espera?

OFICIAL DE AWS
OFICIAL DE AWSActualizada hace un año