Objeto de contexto de Lambda en Rust - AWS Lambda

Objeto de contexto de Lambda en Rust

nota

El cliente de tiempo de ejecución de Rust es un paquete experimental. Está sujeto a cambios y destinado únicamente para fines de evaluación.

Cuando Lambda ejecuta la función, añade un objeto de contexto al LambdaEvent que recibe el controlador. Este objeto proporciona propiedades con información acerca de la invocación, la función y el entorno de ejecución.

Propiedades de context
  • request_id: el ID de solicitud de AWS generado por el servicio de Lambda.

  • deadline: la fecha límite de ejecución de la invocación actual en milisegundos.

  • invoked_function_arn: el nombre de recurso de Amazon (ARN) de la función de Lambda que se invoca.

  • xray_trace_id: el ID de seguimiento AWS X-Ray de la invocación actual.

  • client_content: el objeto de contexto del cliente enviado por el SDK de AWS móvil. Este campo está vacío a menos que la función se invoque mediante un SDK de AWS móvil.

  • identity: la identidad de Amazon Cognito que invocó la función. Este campo está vacío a menos que la solicitud de invocación a las API de Lambda se haya realizado con credenciales de AWS emitidas por los grupos de identidades de Amazon Cognito.

  • env_config: la configuración de la función de Lambda de las variables de entorno local. Esta propiedad incluye información como el nombre de la función, la asignación de memoria, la versión y los flujos de registro.

Acceso a la información del contexto de invocación

Las funciones de Lambda tienen acceso a metadatos acerca de su entorno y la solicitud de invocación. El objeto LambaEvent que recibe el controlador de funciones incluye los metadatos 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 }