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
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@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
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; };