如何从Amazon API Gateway将查询字符串或路由参数传递给AWS Lambda

如何从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在“方法请求”页面中定义的名称的查询字符串参数。

即使我定义了查询字符串,我也看不到这些选项中的任何一个。


HUH函数
浏览 1546回答 3
3回答

眼眸繁星

您不再需要配置映射来访问请求正文。您需要做的就是在资源下检查“集成请求”下的“使用Lambda代理集成”。然后,您就可以像这样访问查询参数,路径参数和标题event['pathParameters']['param1']event["queryStringParameters"]['queryparam1']event['requestContext']['identity']['userAgent']event['requestContext']['identity']['sourceIP']

翻翻过去那场雪

实现这一目标的步骤是:在API网关控制台中......去 Resources -> Integration Request点击模板下拉列表旁边的加号或编辑图标(奇怪我知道,因为模板字段已经打开,此处的按钮看起来是灰色的)显式输入application/json内容类型字段,即使它显示默认值(如果你不这样做,它将不会保存,也不会给你一个错误信息)把它放在输入映射中 { "name": "$input.params('name')" }单击模板下拉列表旁边的复选框(我假设这是最终保存它的内容)
打开App,查看更多内容
随时随地看视频慕课网APP