【问题标题】:AWS API-Gateway GET Method Parameter MappingAWS API-Gateway GET 方法参数映射
【发布时间】:2016-11-02 19:58:18
【问题描述】:

我使用 API-Gateway 将休息请求映射到一些 Lambda 函数。它适用于 post 方法,我将我的信息作为 JSON 在正文中发送并像这样在 lambda 中访问它

module.exports.handler = function(event, context, cb) {
   var email = event.email;
   var name = event.name;
}

现在我想创建一个带有查询字符串的 GET。在 API-Gateway 的请求端,您可以选择查询字符串名称,但对于我来说,我无法弄清楚在集成请求端该怎么做。我如何将我的查询字符串放入我的 lambda,以便我可以像上面一样访问它们。或者它们的访问方式不同。

我浏览了文档,但仍然不明白。你会认为这就像最基本的用例,他们有一个例子,但没有。

谁能帮帮我

谢谢

【问题讨论】:

  • 我同意,他们的 API-Gateway 文档不完整

标签: amazon-web-services aws-lambda aws-api-gateway


【解决方案1】:

您必须为您的查询字符串参数创建方法请求参数,然后您需要创建一个映射模板来将您的查询字符串参数映射到集成请求正文。

映射模板将是这样的,

{
    "email": "$input.params('email')",
    "name": "$input.params('name')"
}

【讨论】:

  • 你知道通过 JS SDK 调用它的正确方法是什么吗?我已经尝试过类似client.methodGet( {}, {email: email} ) 的方法,但它没有为我传递参数。
  • 已解决:在 API Gateway、Resources、GET、Method Request、URL Query String 参数中,您还需要包含您希望传递的参数。
【解决方案2】:

为了在 AWS lambda 中获取查询字符串参数,您需要将这些参数映射到事件对象的属性。 Step 3 in this AWS Guide 说明了如何通过 API Gateway 控制台添加它们。

【讨论】:

    猜你喜欢
    • 2021-04-13
    • 2020-09-28
    • 2017-11-30
    • 1970-01-01
    • 1970-01-01
    • 2017-02-28
    • 1970-01-01
    • 2018-05-02
    • 2016-07-21
    相关资源
    最近更新 更多