注記
「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
}