如何从Amazon API Gateway将查询字符串或路由参数传递给AWS Lambda例如,如果我们想要使用GET /user?name=bob要么GET /user/bob您如何将这两个示例作为参数传递给Lambda函数?我在文档中看到了关于设置“映射到”的内容,但我在API网关控制台中找不到该设置。method.request.path.parameter-name对于parameter-name在“方法请求”页面中定义的路径参数。method.request.querystring.parameter-name对于parameter-name在“方法请求”页面中定义的名称的查询字符串参数。即使我定义了查询字符串,我也看不到这些选项中的任何一个。
3 回答
眼眸繁星
TA贡献1873条经验 获得超9个赞
您不再需要配置映射来访问请求正文。
您需要做的就是在资源下检查“集成请求”下的“使用Lambda代理集成”。
然后,您就可以像这样访问查询参数,路径参数和标题
event['pathParameters']['param1']event["queryStringParameters"]['queryparam1']event['requestContext']['identity']['userAgent']event['requestContext']['identity']['sourceIP']
翻翻过去那场雪
TA贡献2065条经验 获得超14个赞
实现这一目标的步骤是:
在API网关控制台中......
去
Resources -> Integration Request
点击模板下拉列表旁边的加号或编辑图标(奇怪我知道,因为模板字段已经打开,此处的按钮看起来是灰色的)
显式输入
application/json
内容类型字段,即使它显示默认值(如果你不这样做,它将不会保存,也不会给你一个错误信息)把它放在输入映射中
{ "name": "$input.params('name')" }
单击模板下拉列表旁边的复选框(我假设这是最终保存它的内容)
添加回答
举报
0/150
提交
取消