本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
使用 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 }