Utilizzo dell'oggetto contestuale Lambda per recuperare le informazioni sulla funzione Python - AWS Lambda

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Utilizzo dell'oggetto contestuale Lambda per recuperare le informazioni sulla funzione Python

Quando Lambda esegue la funzione, passa un oggetto Context al gestore. Questo oggetto fornisce i metodi e le proprietà che forniscono le informazioni sulla chiamata, sulla funzione e sull'ambiente di esecuzione. Per ulteriori informazioni su come l'oggetto contesto viene passato al gestore di funzioni, consulta Definisci il gestore di funzioni Lambda in Python.

Metodi del contesto
  • get_remaining_time_in_millis: restituisce il numero di millisecondi rimasti prima del timeout dell'esecuzione.

Proprietà del contesto
  • function_name: il nome della funzione Lambda.

  • function_version: la versione della funzione.

  • invoked_function_arn— L'Amazon Resource Name (ARN) utilizzato per richiamare la funzione. Indica se l'invoker ha specificato un numero di versione o un alias.

  • memory_limit_in_mb: la quantità di memoria allocata per la funzione.

  • aws_request_id: l'identificatore della richiesta di invocazione.

  • log_group_name: il gruppo di log per la funzione.

  • log_stream_name: il flusso di log per l'istanza della funzione.

  • identity: (app per dispositivi mobili) Informazioni relative all'identità Amazon Cognito che ha autorizzato la richiesta.

    • cognito_identity_id: l'identità autenticata di Amazon Cognito.

    • cognito_identity_pool_id: il pool di identità Amazon Cognito che ha autorizzato l'invocazione.

  • client_context: (app per dispositivi mobili) Contesto client fornito a Lambda dall'applicazione client.

    • client.installation_id

    • client.app_title

    • client.app_version_name

    • client.app_version_code

    • client.app_package_name

    • custom: un dict di valori personalizzati impostati dall'applicazione client per dispositivi mobili.

    • env— Una dict delle informazioni ambientali fornite da. AWS SDK

Powertools for Lambda (Python) fornisce una definizione di interfaccia per l'oggetto contesto Lambda. È possibile utilizzare la definizione dell'interfaccia per i suggerimenti sul tipo o per esaminare ulteriormente la struttura dell'oggetto di contesto Lambda. Per la definizione dell'interfaccia, consulta lambda_context.py nel repository su. powertools-lambda-python GitHub

L'esempio seguente mostra una funzione di gestione che registra le informazioni di contesto.

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

Oltre alle opzioni sopra elencate, è possibile utilizzare AWS X-Ray anche SDK per Strumentazione del codice Python in AWS Lambda identificare percorsi di codice critici, tracciarne le prestazioni e acquisire i dati per l'analisi.