问题描述
我是AWS的新手,我已经按照本教程进行操作:https://docs.aws.amazon.com/apigateway/latest/developerguide/integrating-api-with-aws-services-s3.html,现在我可以从TEST控制台读取存储在s3上的AWS对象,该对象是以下内容(它是.json文件):
[ { “重要”:“是”, “ name”:“ john”, “类型”:“男性” }, { “重要”:“是”, “ name”:“ Sarah”, “类型”:“女性” }, { “重要”:“否”, “ name”:“ maxim”, “类型”:“男性” } ]
现在,我要实现的是传递查询参数。我在方法请求中添加了 type ,并在Integration中添加了带有 method.request.querystring.type 映射的名为 type 的URL查询字符串参数。请求。
当我要测试时,不考虑键入 type = male ,我仍然得到3个元素而不是2个男性元素。
您认为这是什么原因吗?
有关信息,以下是资源(并且我正在使用 AWS Service 集成类型来创建GET方法,如AWS教程中所述)
/
/{folder}
/{item}
GET
解决方法
如果有人对答案感兴趣,我已经能够解决我的问题。
完整详细的解决方案需要一个教程,但这里是主要步骤。困难在于许多活动部件,因此重要的是要独立测试每个部件以取得进展(你会告诉我这是非常基本的)。
-
确保您对 s3 数据库的 SQL 查询是正确的,为此您可以进入 s3 存储桶,单击您的文件并从操作中选择“使用 s3 选择查询”。
-
确保您的 lambda 函数有效,因此请检查您是否从测试事件构建并传递了正确的 SQL 查询
-
在 Method Request 面板中设置 API 查询字符串并在 Integration Request 面板中设置映射模板(对我来说它看起来像这样“TypeL1”:“$input.params('typeL1')”)使用json 内容类型
祝你好运!