web-dev-qa-db-ja.com

GETリクエストを使用してAWS Lambda関数に引数を渡すにはどうすればよいですか?

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を追加しました。しかし、関数内でそれらにアクセスするにはどうすればよいですか?

19

API GatewayのMethod Requestセクションでクエリ文字列パラメーターを定義した後、Method Executionセクションでマッピングテンプレートを定義する必要があります。

メソッド実行セクションで、マッピングテンプレートを選択し、マッピングテンプレートの追加をクリックします。 コンテンツタイプapplication/jsonを入力し、次のようなマッピングテンプレートを作成します。

{
    "va1": "$input.params('val1')",
    "val2": "$input.params('val2')"
}

これにより、API Gatewayにval1およびval2と呼ばれる入力パラメーター(パス、ヘッダー、またはクエリパラメーターのいずれかで渡される)を取得し、イベントデータのLambda関数に送信しますval1およびval2

20
garnaat

すべての情報はイベントオブジェクトから取得できます。

例:val1はevent ["value1"]などとして取得できます。

1
Batman