Utilisation de l'objet de contexte Lambda pour récupérer les informations d'une fonction Python - AWS Lambda

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Utilisation de l'objet de contexte Lambda pour récupérer les informations d'une fonction Python

Lorsque Lambda exécute votre fonction, il transmet un objet contexte au gestionnaire. Cet objet fournit des méthodes et des propriétés fournissant des informations sur l'appel, la fonction et l'environnement d'exécution. Pour en savoir plus sur la façon dont l'objet de contexte est transmis au gestionnaire de fonctions, consultez Définir le gestionnaire de fonctions Lambda en Python.

Méthodes de contexte
  • get_remaining_time_in_millis – Renvoie le nombre de millisecondes restant avant l'expiration de l'exécution.

Propriétés du contexte
  • function_name – Nom de la fonction Lambda.

  • function_versionVersion de la fonction.

  • invoked_function_arn— Le nom de ressource Amazon (ARN) utilisé pour appeler la fonction. Indique si l'appelant a spécifié un numéro de version ou un alias.

  • memory_limit_in_mb – Quantité de mémoire allouée à la fonction.

  • aws_request_id – Identifiant de la demande d'invocation.

  • log_group_name – Groupe de journaux pour la fonction.

  • log_stream_name – Flux de journal de l'instance de fonction.

  • identity – (applications mobiles) Informations sur l'identité Amazon Cognito qui a autorisé la demande.

    • cognito_identity_id – Identité Amazon Cognito authentifiée.

    • cognito_identity_pool_id – Groupe d'identités Amazon Cognito ayant autorisé l'invocation.

  • client_context – (applications mobiles) Contexte client fourni à Lambda par l'application client.

    • client.installation_id

    • client.app_title

    • client.app_version_name

    • client.app_version_code

    • client.app_package_name

    • customdict de valeurs personnalisées définies par l'application client mobile.

    • env— A dict des informations environnementales fournies par le AWS SDK.

Powertools for Lambda (Python) fournit une définition d'interface pour l'objet de contexte Lambda. Vous pouvez utiliser la définition de l'interface pour les indications de type ou pour examiner plus en détail la structure de l'objet de contexte Lambda. Pour la définition de l'interface, consultez le fichier lambda_context.py dans le powertools-lambda-pythonréférentiel sur GitHub.

L'exemple suivant montre une fonction de gestionnaire qui consigne les informations de contexte.

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

Outre les options répertoriées ci-dessus, vous pouvez également utiliser le AWS X-Ray SDK Instrumentation du code Python dans AWS Lambda pour identifier les chemins de code critiques, suivre leurs performances et capturer les données à des fins d'analyse.