Objeto context de AWS Lambda en Python - AWS Lambda

Objeto context de AWS Lambda en Python

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. Para obtener más información sobre cómo se pasa el objeto de contexto al controlador de funciones, consulte Definir el controlador de funciones de Lambda en Python.

Métodos de context
  • get_remaining_time_in_millis: devuelve el número de milisegundos que quedan antes del tiempo de espera de la ejecución.

Propiedades de context
  • function_name: el nombre de la función de Lambda.

  • function_version: la versión de la función.

  • invoked_function_arn: 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.

  • memory_limit_in_mb: cantidad de memoria asignada a la función.

  • aws_request_id: el identificador de la solicitud de invocación.

  • log_group_name: grupo de registros de para la función.

  • log_stream_name: 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.

    • cognito_identity_id: la identidad autenticada de Amazon Cognito.

    • cognito_identity_pool_id: el grupo de identidad de Amazon Cognito que ha autorizado la invocación.

  • client_context: (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

    • custom: un elemento dict de valores personalizados establecidos por la aplicación cliente para móviles.

    • env: un elemento dict de información de entorno proporcionado por el AWS SDK.

En el siguiente ejemplo se muestra una función de controlador que registra información de context.

ejemplo 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())

Además de las opciones que se enumeran anteriormente, también puede utilizar el SDK de X-Ray AWS para Instrumentación del código Python en AWS Lambda a fin de identificar las rutas de código críticas, rastrear su rendimiento y capturar los datos para su análisis.