単純な GET を定義する AWS Gateway API があります。それを使用して Lambda をトリガーします。リクエスト マッピングを使用してクエリ パラメータを取得し、json オブジェクトを作成して Lambda を指定します。これが私のマッピングです
#set ($myMap = $input.params().get("querystring"))
{
#foreach($paramName in $myMap.keySet() )
"$paramName" : "$util.escapeJavaScript($myMap.get($paramName))"
#if($foreach.hasNext),#end
#end
}
私は VTL と Amazon Gateway API を初めて使用しますが、これが完了しない原因となっている間違いを犯しているようです。私は多くのバリエーションを試しましたが、引用$myMap.get($key)すると完全にはなりません. 私は何を間違っていますか?私は理解するのが大好きです。同じ出力の提案も歓迎します。
アップデート
「{」と「}」を削除すると、タイムアウトしなくなりました。なぜそれが重要なのかわかりません。それは私が望んでいるフォーマットではありませんが、これを理解するための興味深い情報です。
更新 2
ロジックを簡素化し、同じ問題で上記に反映しました。また、別のオブジェクトを開く属性をjsonに入れると、ロジックが機能することもわかりました。これはひどいです。
{
"data": {
#foreach($paramName in $myMap.keySet() )
"$paramName" : "$util.escapeJavaScript($myMap.get($paramName))"
#if($foreach.hasNext),#end
#end
}
}