Verwenden des Lambda-Kontextobjekts zum Abrufen von Rust-Funktionsinformationen - AWS Lambda

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Verwenden des Lambda-Kontextobjekts zum Abrufen von Rust-Funktionsinformationen

Anmerkung

Der Rust-Laufzeit-Client ist ein experimentelles Paket. Er kann sich ändern und ist nur zu Evaluierungszwecken gedacht.

Wenn Lambda Ihre Funktion ausführt, fügt es dem, das der Handler empfängt LambdaEvent , ein Kontextobjekt hinzu. Dieses Objekt stellt Eigenschaften mit Informationen zum Aufruf, zur Funktion und zur Ausführungsumgebung bereit.

Context-Eigenschaften
  • request_id: Die vom Lambda-Service generierte AWS Anforderungs-ID.

  • deadline: Die Ausführungsfrist für den aktuellen Aufruf in Millisekunden.

  • invoked_function_arn: Der Amazon-Ressourcenname (ARN) der aufgerufenen Lambda-Funktion.

  • xray_trace_id: Die AWS X-Ray Trace-ID für den aktuellen Aufruf.

  • client_content: Das vom AWS Handy SDK gesendete Client-Kontextobjekt. Dieses Feld ist leer, es sei denn, die Funktion wird mit einem AWS Handy SDK aufgerufen.

  • identity: Die Amazon-Cognito-Identität, die die Funktion aufgerufen hat. Dieses Feld ist leer, es sei denn, die Aufrufanforderung an das Lambda APIs wurde mit AWS Anmeldeinformationen gestellt, die von Amazon Cognito Cognito-Identitätspools ausgestellt wurden.

  • env_config: Die Lambda-Funktionskonfiguration aus den lokalen Umgebungsvariablen. Diese Eigenschaft umfasst Informationen wie den Funktionsnamen, die Speicherzuweisung, die Version und die Protokollstreams.

Zugreifen auf Aufrufkontextinformationen

Lambda-Funktionen haben Zugriff auf Metadaten über ihre Umgebung und die Aufrufanforderung. Das LambaEvent Objekt, das Ihr Funktionshandler empfängt, enthält die context-Metadaten:

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 }