Lambda で関数が実行されると、コンテキストオブジェクトがハンドラーに渡されます。このオブジェクトは、呼び出し、関数、および実行関数に関する情報を示すメソッドおよびプロパティを提供します。
context メソッド
-
getRemainingTimeInMillis()
— 実行がタイムアウトするまでの残り時間をミリ秒で返します。
context プロパティ
-
functionName
- Lambda 関数の名前。 -
functionVersion
- 関数のバージョン。 -
invokedFunctionArn
- 関数を呼び出すために使用される Amazon リソースネーム (ARN)。呼び出し元でバージョン番号またはエイリアスが指定されているかどうかを示します。 -
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 の場合、未完了のイベントは、次の呼び出し中に実行され続けます。
@types /aws-lambda
例 index.ts ファイル
次の例の関数はコンテキスト情報をログに記録して、そのログの場所を返します。
注記
このコードを Lambda 関数で使用する前に、開発環境の依存関係として @types/aws-lambda@types/aws-lambda
がインストールされると、import
ステートメント (import ... from 'aws-lambda'
) は型定義をインポートします。aws-lambda
NPM パッケージはインポートされません。これは関連性のないサードパーティーのツールです。詳細については、「DefinitelyTyped GitHub リポジトリ」の「aws-lambda
import { Context } from 'aws-lambda';
export const lambdaHandler = async (event: string, context: Context): Promise<string> => {
console.log('Remaining time: ', context.getRemainingTimeInMillis());
console.log('Function name: ', context.functionName);
return context.logStreamName;
};