Verwenden des Lambda-Kontextobjekts zum Abrufen von Rust-Funktionsinformationen
Anmerkung
Der Rust-Laufzeit-Client
Wenn Lambda Ihre Funktion ausführt, fügt es ein Kontextobjekt zu dem LambdaEvent hinzu, das der Handler empfängt. 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 des aktuellen Aufrufs. -
client_content: Das vom mobilen AWS SDK gesendete Client-Kontext-Objekt. Dieses Feld ist leer, sofern die Funktion nicht mit einem mobilen AWS SDK aufgerufen wird. -
identity: Die Amazon-Cognito-Identität, die die Funktion aufgerufen hat. Dieses Feld ist leer, es sei denn, die Aufrufanforderung an die Lambda-APIs erfolgte unter Verwendung von AWS-Anmeldeinformationen, die von Amazon-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 }