Rust の Lambda コンテキストオブジェクト - AWS Lambda

Rust の Lambda コンテキストオブジェクト

注記

Rust ランタイムクライアント」は実験的なパッケージです。これは変更される可能性があり、評価のみを目的としています。

Lambda が関数を実行すると、ハンドラー LambdaEvent が受け取る にコンテキストオブジェクトが追加されます。このオブジェクトは、呼び出し、関数、および実行関数に関する情報を含むプロパティです。

context プロパティ
  • request_id: Lambda サービスによって生成された AWS リクエスト ID。

  • deadline: 現在の呼び出しの実行期限 (ミリ秒単位)。

  • invoked_function_arn: Lambda 関数の Amazon リソースネーム (ARN) が呼び出されます。

  • xray_trace_id: 現在の呼び出しの AWS X-Ray トレース ID。

  • client_content:AWS モバイル SDK によって送信されたクライアントコンテキストオブジェクト。AWS モバイル SDK を使用して関数を呼び出さない限り、このフィールドは空です。

  • identity: 関数を呼び出した Amazon Cognito ID。Lambda API への呼び出しリクエストが Amazon Cognito ID プールによって発行された AWS 認証情報を使用して行われた場合を除き、このフィールドは空です。

  • env_config: ローカル環境変数からの Lambda 関数の構成。このプロパティには、関数名、メモリ割り当て、バージョン、ログストリームなどの情報が含まれます。

context の呼び出し情報へのアクセス

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 }