Uso del objeto de contexto Lambda para recuperar la información de la función Node.js - AWS Lambda

Uso del objeto de contexto Lambda para recuperar la información de la función Node.js

Cuando Lambda ejecuta su función, pasa un objeto context al controlador. Este objeto proporciona métodos y propiedades que facilitan información acerca de la invocación, la función y el entorno de ejecución.

Métodos de context
  • getRemainingTimeInMillis(): devuelve el número de milisegundos que quedan antes del tiempo de espera de la ejecución.

Propiedades de context
  • functionName: el nombre de la función de Lambda.

  • functionVersion: la versión de la función.

  • invokedFunctionArn: el nombre de recurso de Amazon (ARN) que se utiliza para invocar esta función. Indica si el invocador especificó un número de versión o alias.

  • memoryLimitInMB: cantidad de memoria asignada a la función.

  • awsRequestId: el identificador de la solicitud de invocación.

  • logGroupName: grupo de registros de para la función.

  • logStreamName: el flujo de registro de la instancia de la función.

  • identity: (aplicaciones móviles) Información acerca de la identidad de Amazon Cognito que autorizó la solicitud.

    • cognitoIdentityId: la identidad autenticada de Amazon Cognito.

    • cognitoIdentityPoolId: el grupo de identidad de Amazon Cognito que ha autorizado la invocación.

  • clientContext: (aplicaciones móviles) Contexto de cliente proporcionado a Lambda por la aplicación cliente.

    • client.installation_id

    • client.app_title

    • client.app_version_name

    • client.app_version_code

    • client.app_package_name

    • env.platform_version

    • env.platform

    • env.make

    • env.model

    • env.locale

    • custom: valores personalizados que establece la aplicación del cliente.

  • callbackWaitsForEmptyEventLoop: de forma predeterminada (true), cuando se utiliza un controlador de funciones basado en la devolución de llamada, Lambda espera a que el bucle de eventos esté vacío una vez ejecutada la devolución de llamada antes de finalizar la invocación de la función. Establézcalo en false para enviar la respuesta y finalizar la invocación de forma inmediata después de la ejecución de la devolución de llamada, en lugar de esperar a que el bucle de eventos esté vacío. Los eventos pendientes seguirán ejecutándose durante la siguiente invocación. Tenga en cuenta que Lambda solo admite controladores de funciones basados en la devolución de llamada para Node.js 22 y tiempos de ejecución anteriores.

La siguiente función de ejemplo registra información de contexto y devuelve la ubicación de los registros.

ejemplo Archivo index.js
exports.handler = async function(event, context) { console.log('Remaining time: ', context.getRemainingTimeInMillis()) console.log('Function name: ', context.functionName) return context.logStreamName }