ApiゲートウェイエンドポイントからLambda関数にGETリクエストを行うときに、URL文字列でval1とval2を渡したいとします。
https://xyz.execute-api.amazonaws.com/prod/test?val1=5&val2=10
そして、2つの入力val1とval2を合計する単純な関数があります。
def lambda_handler(event, context):
# How do I get at val1 and val2??
return {'result': val1 + val2}
AWS API GatewayのメソッドリクエストのURLクエリ文字列パラメーターにval1とval2を追加しました。しかし、関数内でそれらにアクセスするにはどうすればよいですか?
API GatewayのMethod Requestセクションでクエリ文字列パラメーターを定義した後、Method Executionセクションでマッピングテンプレートを定義する必要があります。
メソッド実行セクションで、マッピングテンプレートを選択し、マッピングテンプレートの追加をクリックします。 コンテンツタイプにapplication/json
を入力し、次のようなマッピングテンプレートを作成します。
{
"va1": "$input.params('val1')",
"val2": "$input.params('val2')"
}
これにより、API Gatewayにval1
およびval2
と呼ばれる入力パラメーター(パス、ヘッダー、またはクエリパラメーターのいずれかで渡される)を取得し、イベントデータのLambda関数に送信しますval1
およびval2
。
すべての情報はイベントオブジェクトから取得できます。
例:val1はevent ["value1"]などとして取得できます。