Uso del objeto de contexto Lambda para recuperar la información de la función de TypeScript - AWS Lambda

Uso del objeto de contexto Lambda para recuperar la información de la función de TypeScript

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: establézcalo en false para enviar la respuesta de forma inmediata cuando se ejecute la devolución de llamada, en lugar de esperar a que el bucle de eventos de Node.js esté vacío. Si esto es false, los eventos pendientes siguen ejecutándose durante el siguiente periodo de invocación.

Puede usar el paquete de npm @types/aws-lambda para trabajar con el objeto de contexto.

ejemplo archivo index.ts

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

nota

Antes de utilizar este código en una función de Lambda, debe agregar el paquete @types/aws-lambda como dependencia de implementación. Este paquete contiene las definiciones de tipos de Lambda. Cuando @types/aws-lambda se encuentra instalado, la instrucción import (import ... from 'aws-lambda') importa las definiciones de tipo. No importa el paquete NPM de aws-lambda, que es una herramienta de terceros no relacionada. Para obtener más información, consulte aws-lambda en el repositorio de GitHub DefinitelyTyped.

import { Context } from 'aws-lambda'; export const lambdaHandler = async (event: string, context: Context): Promise<string> => { console.log('Remaining time: ', context.getRemainingTimeInMillis()); console.log('Function name: ', context.functionName); return context.logStreamName; };