Utilizzo dell'oggetto contestuale Lambda per recuperare le informazioni sulla funzione Rust - 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 Rust

Nota

Il client di runtime Rust è un pacchetto sperimentale. È soggetto a modifiche ed è destinato esclusivamente a scopi di valutazione.

Quando Lambda esegue la funzione, aggiunge un oggetto di contesto a LambdaEvent quello ricevuto dal gestore. Questo oggetto fornisce proprietà con informazioni sulla chiamata, sulla funzione e sull'ambiente di esecuzione.

Proprietà del contesto
  • request_id: l'ID della AWS richiesta generato dal servizio Lambda.

  • deadline: la scadenza di esecuzione per la chiamata corrente in millisecondi.

  • invoked_function_arn: L'Amazon Resource Name (ARN) della funzione Lambda richiamata.

  • xray_trace_id: L'ID di AWS X-Ray traccia per la chiamata corrente.

  • client_content: l'oggetto contestuale del client inviato dal dispositivo mobile. AWS SDK Questo campo è vuoto a meno che la funzione non venga richiamata utilizzando un AWS dispositivo mobileSDK.

  • identity: l'identità Amazon Cognito che ha richiamato la funzione. Questo campo è vuoto a meno che la richiesta di chiamata a Lambda non sia APIs stata effettuata utilizzando AWS credenziali emesse dai pool di identità di Amazon Cognito.

  • env_config: la configurazione della funzione Lambda in base alle variabili di ambiente locali. Questa proprietà include informazioni come il nome della funzione, l'allocazione della memoria, la versione e i flussi di log.

Accesso alle informazioni relative al contesto di invocazione

Le funzioni Lambda hanno accesso ai metadata relativi al loro ambiente e alla richiesta di invocazione. L'oggetto LambaEvent ricevuto dal gestore delle funzioni include i metadati context:

use lambda_runtime::{service_fn, LambdaEvent, Error}; use serde_json::{json, Value}; async fn handler(event: LambdaEvent<Value>) -> Result<Value, Error> { let invoked_function_arn = event.context.invoked_function_arn; Ok(json!({ "message": format!("Hello, this is function {invoked_function_arn}!") })) } #[tokio::main] async fn main() -> Result<(), Error> { lambda_runtime::run(service_fn(handler)).await }