AWS Lambda
開発者ガイド

Python の AWS Lambda Context オブジェクト

Lambda で関数が実行されると、コンテキストオブジェクトはハンドラに渡されます。このオブジェクトは、呼び出し、関数、および実行関数に関する情報を示すメソッドおよびプロパティを提供します。

コンテキストメソッド

  • get_remaining_time_in_millis – 実行がタイムアウトするまで待機する時間 (ミリ秒) が返ります。

コンテキストプロパティ

  • function_name – Lambda 関数の名前。

  • function_version – 関数のバージョン

  • invoked_function_arn – この関数を呼び出すために使用される Amazon リソースネーム (ARN)。INVOKER によって、バージョン番号またはエイリアスが指定されたかどうかを示します。

  • memory_limit_in_mb – 関数に割り当てられているメモリ量。

  • aws_request_id – 呼び出しリクエストの ID。

  • log_group_name – 関数のロググループ。

  • log_stream_name – 関数のインスタンスのログストリーム。

  • identity – (モバイルアプリ) リクエストを認証した Amazon Cognito ID に関する情報。

    • cognito_identity_id – 認証された Amazon Cognito ID。

    • cognito_identity_pool_id – 呼び出しを認証した Amazon Cognito ID プール。

  • client_context – (モバイルアプリ) クライアントアプリケーションによって Lambda に送信されたクライアントコンテキスト。

    • client.installation_id

    • client.app_title

    • client.app_version_name

    • client.app_version_code

    • client.app_package_name

    • custom – モバイルクライアントアプリケーションによって設定されたカスタム値の dict です。

    • env – AWS SDK によって提供される環境情報の dict です。

以下の例は、コンテキスト情報を記録するハンドラ関数を示します。

例 handler.py

import time def get_my_log_stream(event, context):     print("Log stream name:", context.log_stream_name)    print("Log group name:", context.log_group_name)    print("Request ID:",context.aws_request_id)    print("Mem. limits(MB):", context.memory_limit_in_mb) # Code will execute quickly, so we add a 1 second intentional delay so you can see that in time remaining value. time.sleep(1)    print("Time remaining (MS):", context.get_remaining_time_in_millis())

上記に一覧表示するオプションに加えて、AWS Lambda の Python コードの作成 用 AWS X-Ray SDK を使用して、重要なコードパスの識別、パフォーマンスのトレースおよび分析のためにデータをキャプチャすることもできます。