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