使用 Lambda 內容物件擷取 Rust 函數資訊 - AWS Lambda

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

使用 Lambda 內容物件擷取 Rust 函數資訊

注意

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

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

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

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

  • invoked_function_arn:被叫用之 Lambda 函數的 Amazon Resource Name (ARN)。

  • xray_trace_id:目前調用的 AWS X-Ray 追蹤 ID。

  • client_content:由 AWS 行動 SDK 傳送的用戶端內容物件。除非使用 AWS 行動 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 }