EventBridgeとLambdaを組み合わせて使用することで、非常に強力なサーバーレスアーキテクチャを構築することができます。特に、EventBridgeの入力トランスフォーマーを利用することで、Lambda関数に引数を渡すことが可能となります。
EventBridgeとLambdaの基本的な使い方
EventBridgeからLambda関数を実行する際には、通常、Lambdaの変数event
は空です。しかし、EventBridgeのターゲット入力の設定を追加することで、event
に任意の変数を渡すことが可能となります。
例えば、以下のように設定することで、routeKey
という名前の変数をLambda関数に渡すことができます。
{
"routeKey": "POST /api/path2"
}
入力トランスフォーマーの利用
EventBridgeの入力トランスフォーマーを利用することで、Lambda関数に引数を渡すことが可能となります。
例えば、Lambda関数がfoo_time
という引数を受け付ける場合、以下のように入力パスとテンプレートを記述します。
{
"inputPathsMap": {
"foo_time": "$.time"
},
"inputTemplate": "\"foo_time\": <foo_time>"
}
ここで、$.time
はイベントデータのtime
キーの値を参照します。そして、"foo_time": <foo_time>
と記述することで、Lambda関数に渡す引数を構築します。
以上が、EventBridgeとLambdaを用いたPython開発の基本的な手順となります。これらの技術を駆使して、効率的なサーバーレスアーキテクチャを構築してみてください。.