使用 Lambda 上下文對象檢索 Rust 函數信息 - AWS Lambda

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

使用 Lambda 上下文對象檢索 Rust 函數信息

注意

Rust 執行期用戶端是實驗性套件。它可能會發生變更,僅用於評估目的。

Lambda 執行函數時,會將內容物件新增至處理常式接收 LambdaEvent 的內容物件。此物件提供的各項屬性包含了有關叫用、函式以及執行環境的資訊。

內容屬性
  • request_id:Lambda 服務產生的 AWS 請求識別碼。

  • deadline:目前叫用的執行期限,以毫秒為單位。

  • invoked_function_arn:正在叫用的 Lambda 函數的 Amazon 資源名稱 (ARN)。

  • xray_trace_id:當前調用的 AWS X-Ray 跟踪 ID。

  • client_content:由 AWS 移動發送的客戶端上下文對象SDK。除非使用 AWS 行動裝置叫用函數,否則此欄位為空白SDK。

  • identity:叫用該函數的 Amazon Cognito 身分。除非使用 Amazon Cognito 身分識別集區發出的 AWS 登入資料向 Lambda APIs 呼叫請求,否則此欄位為空白。

  • 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 }