如何通过S3json文件后端在API网关传递查询参数



我是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":"格言";,"类型":"男性";}]

现在,我试图实现的是传递查询参数。我在方法请求中添加了type,并在集成请求中添加一个名为type的URL查询字符串参数,该参数具有Method.Request.querystring.type映射。

当我想测试时,不考虑键入type=male,我仍然得到3个元素,而不是2个male元素。

你认为发生这种事的原因是什么?

有关信息,资源如下(我使用AWS服务集成类型创建GET方法,如AWS教程中所述(

/
/{folder}
/{item}
GET

如果有人对答案感兴趣,我已经能够解决我的问题。

完整详细的解决方案需要教程,但以下是主要步骤。困难在于许多运动部件,因此独立测试每个部件以取得进展是很重要的(你会告诉我,这是非常基本的(。

  1. 确保您对s3数据库的SQL查询是正确的,为此,您可以进入s3存储桶,单击您的文件并选择"用s3选择查询";从行动中。

  2. 确保您的lambda函数正常工作,因此请检查您是否从测试事件构建并传递了正确的SQL查询

  3. 在"方法请求"面板中设置API查询字符串,并在"集成请求"面板上设置映射模板(对我来说,它看起来像"类型L1":"$input.params(‘类型L1’("(使用json内容类型

祝你好运!

最新更新