ラムダ統合のためのAPIゲートウェイがあります。統合テンプレートでは、入力パラメータの1つをチェックしたいと思います。その値に応じて、Lambdaに渡されるイベントのフィールドを設定したいと思います。そのために私は統合テンプレートを書いていましたが、POSTリクエストの環境として 'ext-prod-live'を渡しても常にそうであるようです。 私のイベント['stage_variables'] ['solr_url']は常に$ stageVariables.solr_urlです。私はPOST本体に正しくアクセスせず、$ input.params( 'environment')から戻ってきていると思います。AWS API Gateway統合テンプレートでフィールドを条件付きで設定するにはどうすればよいですか?
テンプレート
#set($inputJson = $input.json('$')) { "request" : $inputJson, "Authorization" : "$input.params().header.get('Authorization')",
#if ($input.params('environment') == "ext-prod-live") "stage_variables" : {"solr_url" : "$stageVariables.live_solr_url"}
#else "stage_variables" : {"solr_url" : "$stageVariables.solr_url"}
#end }
リクエストボディ
{"environment": "ext-prod-sim", "min_ts": 0,
"execType": 14}
すべてのヘルプははるかに高く評価されます。
さらにいくつかのテストで、空の文字列を取得しています私のjson入力。 – user2903819