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