AWS Lambda
開発者ガイド

Node.js での AWS Lambda Context オブジェクト

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

コンテキストメソッド

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

コンテキストプロパティ

  • functionName – Lambda 関数の名前。

  • functionVersion – 関数のバージョン

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

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

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

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

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

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

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

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

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

    • client.installation_id

    • client.app_title

    • client.app_version_name

    • client.app_version_code

    • client.app_package_name

    • env.platform_version

    • env.platform

    • env.make

    • env.model

    • env.locale

    • Custom – モバイルアプリケーションで設定されたカスタム値。

  • callbackWaitsForEmptyEventLoop – false に設定して、Node.js イベントループが空になるまで待機せずに、コールバックが実行されるとすぐにレスポンスを送信します。これが false の場合、未完了のイベントは、次の呼び出し中に実行され続けます。

次の例の関数はコンテキスト情報をログに記録して、そのログの場所を返します。

例 index.js ファイル

exports.handler = async function(event, context) { console.log('Remaining time: ', context.getRemainingTimeInMillis()) console.log('Function name: ', context.functionName) return context.logStreamName }