AWS Lambda: CLIから関数を呼び出す

aws lambda invokeを使用してLambda関数をJSONペイロード、呼び出しタイプ(同期、非同期、ドライラン)、ログテーリングで呼び出します。

Lambda Operations

詳細な説明

CLIからLambda関数を呼び出す

aws lambda invokeコマンドはLambda関数をトリガーし、レスポンスをキャプチャします。同期・非同期呼び出し、ペイロード入力、実行ログテーリングをサポートします。

基本的な同期呼び出し

aws lambda invoke \
  --function-name my-processor \
  --payload '{"action": "process", "id": 42}' \
  response.json

レスポンスペイロードはresponse.jsonに書き込まれます。

呼び出しタイプ

タイプ フラグ値 動作
同期 RequestResponse(デフォルト) 関数の完了を待ち、レスポンスを返す
非同期 Event 呼び出しをキューに入れ、即座に返す(ステータス202)
ドライラン DryRun 実行せずに権限を検証(ステータス204)

ログテーリング付き呼び出し

aws lambda invoke \
  --function-name my-function \
  --payload '{"key": "value"}' \
  --log-type Tail \
  --query 'LogResult' \
  --output text response.json | base64 --decode

--log-type Tailフラグは実行ログの最後4KBをbase64エンコードで返します。

ファイルからのペイロード

aws lambda invoke \
  --function-name my-function \
  --payload file://event.json \
  response.json

file://を使用するとローカルファイルからペイロードを読み取り、複雑なJSON入力にはよりクリーンです。

ユースケース

開発中のLambda関数テスト、バッチ処理ジョブのトリガー、一回限りのデータ変換の実行、特定のイベントペイロードでの関数動作のデバッグ。

試してみる — AWS CLI Command Builder

フルツールを開く