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 obter mais informações sobre como o objeto de contexto é passado para o manipulador de funções, consulte Definir o manipulador de função do Lambda em Python.
Métodos de contexto
-
get_remaining_time_in_millis
: retorna o número de milissegundos restantes antes do tempo limite da execução.
Propriedades de contexto
-
function_name
: o nome da função do Lambda. -
function_version
: a versão da função. -
invoked_function_arn
: 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. -
memory_limit_in_mb
: a quantidade de memória alocada para a função. -
aws_request_id
: o identificador da solicitação de invocação. -
log_group_name
: o grupo de logs da função. -
log_stream_name
: 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.-
cognito_identity_id
: a identidade autenticada do Amazon Cognito. -
cognito_identity_pool_id
: o grupo de identidades do Amazon Cognito que autorizou a invocação.
-
-
client_context
: (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
-
custom
: umdict
de valores personalizados definidos pela aplicação cliente para dispositivos móveis. -
env
: umdict
de informações do ambiente fornecidas pelo AWS SDK.
-
O Powertools para Lambda (Python) fornece uma definição de interface para o objeto de contexto do Lambda. Você pode usar a definição da interface para dicas de tipo ou para inspecionar ainda mais a estrutura do objeto de contexto do Lambda. Para a definição da interface, consulte lambda_context.py
O exemplo a seguir mostra uma função do handler que registra informações de contexto.
exemplo handler.py
import time
def lambda_handler(event, context):
print("Lambda function ARN:", context.invoked_function_arn)
print("CloudWatch log stream name:", context.log_stream_name)
print("CloudWatch log group name:", context.log_group_name)
print("Lambda Request ID:", context.aws_request_id)
print("Lambda function memory limits in MB:", context.memory_limit_in_mb)
# We have added a 1 second delay so you can see the time remaining in get_remaining_time_in_millis.
time.sleep(1)
print("Lambda time remaining in MS:", context.get_remaining_time_in_millis())
Além das opções listadas acima, você também pode usar o AWS X-Ray SDK para Instrumentação do código Python no AWS Lambda para identificar caminhos de código críticos, rastrear a performance e capturar os dados para análise.