当前位置: 首页 > 知识库问答 >
问题:

如何从Amazon API网关向AWS Lambda传递querystring或route参数

楚方伟
2023-03-14

例如,如果我们想使用

获取/user?name=bob

获取/user/bob

如何将这两个示例作为参数传递给Lambda函数?

我在文档中看到了一些关于设置“Mapped From”的内容,但我在API网关控制台中找不到该设置。

  • Method.Request.path.parameter-name用于在“方法请求”页中定义的名为parameter-name的路径参数。
  • Method.Request.querystring.parameter-name用于在“方法请求”页中定义的名为parameter-name的查询字符串参数。

尽管我定义了一个查询字符串,但我没有看到这两个选项中的任何一个。

共有2个答案

高功
2023-03-14

实现此操作的步骤如下:

在API网关控制台内...

>

  • 转到资源->集成请求
  • 单击“模板”下拉菜单旁边的“加号”或“编辑”图标(我知道是奇数,因为“模板”字段已经打开,此处的按钮看起来是灰色的)
  • 在content-type字段中显式键入application/json,即使它显示默认值(如果不这样做,它将不会保存,也不会给出错误消息)
  • 将其放入输入映射{“name”:“$input.params('name')”}

    单击templates下拉列表旁边的复选框(我假设这是最终保存它的方法)

  • 乜华翰
    2023-03-14

    截至2017年9月,您不再需要配置映射来访问请求体。

    您只需在资源下的Integration Request下勾选“Use Lambda Proxy Integration”。

    然后,您就可以访问查询参数、路径参数和头,如下所示

    event['pathParameters']['param1']
    event["queryStringParameters"]['queryparam1']
    event['requestContext']['identity']['userAgent']
    event['requestContext']['identity']['sourceIP']
    
     类似资料:
    • 我正在尝试将API网关与Lambda代理集成, API服务器接收带有以下参数的请求,即邮政编码和住所 代码:

    • 但是,我如何将我预定义的查询字符串参数传递到这个生成的API类中呢? 我也尝试过使用模型,但是我也没有看到将模型数据传递到iOS SDK中的方法。

    • 我尝试将参数从命令行传递到gradle。 我的身材是: 当我这样做时: 我得到这个: 我的问题是我应该为main提供什么?任何java文件包的名称?有具体的路径吗?什么应该是真正的源集?

    • 我正在尝试使用此解决方案将我的Api-Gateway地图应用程序/x-wow-form-urlencoded到json:如何从Amazon API Gateway将参数从POST传递到AWS Lambda 但是到目前为止,我的lambda被成功触发,只有我的request.body总是空的。如果有人知道如何使用. net-core c#处理它,我真的很感激洞察力。 到目前为止,我的无服务器lamb

    • 问题内容: 我正在使用收缩路线https://npmjs.org/package/shrinkroute在nodejs中建立链接。我收到错误500 ReferenceError:收缩器未定义 如何将rinkeroute传递给routes / index.js?有没有更好的方法通过传递查询字符串args创建url? 问题答案: 一种解决方案是使用以下方法存储在您的应用程序对象中: 在中,您可以通过或