使用 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 }