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関数テスト、バッチ処理ジョブのトリガー、一回限りのデータ変換の実行、特定のイベントペイロードでの関数動作のデバッグ。