Utilizzo dell'oggetto del contesto 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 Definire l'handler della funzione 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: undictdi valori personalizzati impostati dall'applicazione client per dispositivi mobili. -
env: undictdi informazioni di ambiente fornite dall'SDK AWS.
-
Powertools for Lambda (Python) fornisce una definizione di interfaccia per l'oggetto del contesto Lambda. È possibile utilizzare la definizione dell'interfaccia per i suggerimenti sul tipo o per esaminare ulteriormente la struttura dell'oggetto del contesto Lambda. Per la definizione dell'interfaccia, consulta lambda_context.py
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 elencate in precedenza, è possibile utilizzare l'SDK AWS X-Ray per Strumentazione del codice Python in AWS Lambda per identificare i percorsi del codice critici, tenere traccia delle relative prestazioni e acquisire i dati per l'analisi.