Rust 中的 Lambda 上下文对象 - Amazon Lambda
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

Rust 中的 Lambda 上下文对象

注意

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

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

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

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

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

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

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

  • identity:已调用函数的 Amazon Cognito 身份。除非使用由 Amazon Cognito 身份池颁发的 Amazon 凭证向 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 }