例如,如果我们想使用
获取/user?name=bob
或
获取/user/bob
如何将这两个示例作为参数传递给Lambda函数?
我在文档中看到了一些关于设置“Mapped From”的内容,但我在API网关控制台中找不到该设置。
Method.Request.path.parameter-name
用于在“方法请求”页中定义的名为parameter-name
的路径参数。Method.Request.querystring.parameter-name
用于在“方法请求”页中定义的名为parameter-name
的查询字符串参数。尽管我定义了一个查询字符串,但我没有看到这两个选项中的任何一个。
截至2017年9月,您不再需要配置映射来访问请求体。
您只需在资源下的Integration Request下勾选“Use Lambda Proxy Integration”。
然后,您就可以访问查询参数、路径参数和头,如下所示
event['pathParameters']['param1']
event["queryStringParameters"]['queryparam1']
event['requestContext']['identity']['userAgent']
event['requestContext']['identity']['sourceIP']
实现此操作的步骤如下:
在API网关控制台内...
>
资源->集成请求
application/json
,即使它显示默认值(如果不这样做,它将不会保存,也不会给出错误消息)将其放入输入映射{“name”:“$input.params('name')”}
单击templates下拉列表旁边的复选框(我假设这是最终保存它的方法)