使用 Lambda 上下文对象检索 Rust 函数信息 - AWS Lambda

使用 Lambda 上下文对象检索 Rust 函数信息

注意

Rust 运行时系统客户端是实验性程序包。它随时可能更改,并且仅用于评估目的。

当 Lambda 运行函数时,会将上下文对象添加到处理程序接收的 LambdaEvent 中。此对象提供的属性包含有关调用、函数和执行环境的信息。

上下文属性
  • request_id:由 Lambda 服务生成的 AWS 请求 ID。

  • deadline:当前调用的执行截止时间(以毫秒为单位)。

  • invoked_function_arn:正在调用的 Lambda 函数的 Amazon 资源名称(ARN)。

  • xray_trace_id:当前调用的 AWS X-Ray 跟踪 ID。

  • client_content:AWS Mobile SDK 发送的客户端上下文对象。除非使用 AWS Mobile SDK 调用函数,否则此字段为空。

  • identity:已调用函数的 Amazon Cognito 身份。除非使用由 Amazon Cognito 身份池颁发的 AWS 凭证向 Lambda API 发出调用请求,否则此字段为空。

  • env_config:来自本地环境变量的 Lambda 函数配置。此属性包括函数名称、内存分配、版本和日志流等信息。

访问调用上下文信息

Lambda 函数可以访问有关其环境和调用请求的元数据。函数处理程序接收的 LambaEvent 对象包含 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 }