Usar o objeto de contexto do Lambda para recuperar informações das funções em TypeScript
Quando o Lambda executa a função, ele transmite um objeto de contexto para o handler. Esse objeto fornece métodos e propriedades que fornecem informações sobre a invocação, a função e o ambiente de execução.
Para habilitar a verificação de tipo para o objeto de contexto, é necessário adicionar o pacote @types/aws-lambdaContext. Para ter mais informações, consulte Definições de tipo para o Lambda.
Métodos de contexto
-
getRemainingTimeInMillis(): retorna o número de milissegundos restantes antes do tempo limite da execução.
Propriedades de contexto
-
functionName: o nome da função do Lambda. -
functionVersion: a versão da função. -
invokedFunctionArn: o nome do recurso da Amazon (ARN) usado para invocar a função. Indica se o invocador especificou um alias ou número de versão. -
memoryLimitInMB: a quantidade de memória alocada para a função. -
awsRequestId: o identificador da solicitação de invocação. -
logGroupName: o grupo de logs da função. -
logStreamName: a transmissão de log para a instância da função. -
identity: (aplicativos móveis) informações sobre a identidade do Amazon Cognito que autorizou a solicitação.-
cognitoIdentityId: a identidade autenticada do Amazon Cognito. -
cognitoIdentityPoolId: o grupo de identidades do Amazon Cognito que autorizou a invocação.
-
-
clientContext: (aplicativos móveis) contexto do cliente fornecido ao Lambda pela aplicação 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: os valores personalizados que são definidos pela aplicação cliente.
-
-
callbackWaitsForEmptyEventLoop: definido como falso para enviar a resposta imediatamente quando o retorno de chamada é executado, em vez de aguardar até que o loop de eventos esteja vazio. Se for falso, todos os eventos pendentes continuarão a ser executados durante a próxima invocação.
exemplo arquivo index.ts
O exemplo a seguir registra informações de contexto da função e retorna a localização dos logs.
nota
Antes de usar esse código em uma função do Lambda, você deve adicionar o pacote @types/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; };