AWS Lambda
Guia do desenvolvedor

Objeto de contexto do AWS Lambda no Python

Quando o Lambda executa sua 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.

Métodos de contexto

  • get_remaining_time_in_millis – Retorna o número de milissegundos que restam antes que a execução expire.

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 de recurso da Amazon (ARN) da função a ser invocada. Indica se o invocador especificou um alias ou número de versão.

  • memory_limit_in_mb – A quantidade de memória configurada na função.

  • aws_request_id – O identificador da solicitação de invocação.

  • log_group_name – O grupo de logs para a função.

  • log_stream_name – O fluxo 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 do Amazon Cognito autenticada.

    • 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 invocador do Lambda pelo aplicativo cliente.

    • client.installation_id

    • client.app_title

    • client.app_version_name

    • client.app_version_code

    • client.app_package_name

    • customdict de valores personalizados definidos pelo aplicativo cliente móvel.

    • envdict de informações do ambiente fornecidas pelo AWS Mobile SDK.

O exemplo a seguir mostra uma função do handler que registra informações de contexto.

exemplo handler.py

import time def get_my_log_stream(event, context):     print("Log stream name:", context.log_stream_name)    print("Log group name:", context.log_group_name)    print("Request ID:",context.aws_request_id)    print("Mem. limits(MB):", context.memory_limit_in_mb) # Code will execute quickly, so we add a 1 second intentional delay so you can see that in time remaining value. time.sleep(1)    print("Time remaining (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 o desempenho e capturar os dados para análise.