【问题标题】:How to pass event info from aws API Gateway get to Lambda?如何将事件信息从 aws API Gateway get 传递给 Lambda?
【发布时间】:2020-02-26 22:24:42
【问题描述】:

如何在 Lambda 函数中引用 API Gateway GET 查询字符串参数?

当我测试时,我可以将本地测试事件与 "username": "larry" 一起使用
当我使用帖子进行测试时,我可以使用 "username": "larry"
的正文参数作为事件 有了获取请求,我没有正文。我如何使用查询字符串参数,然后在请求中引用它们。我使用什么事件或其他属性来获取查询参数,或者我需要进行什么设置或更改?

方法请求

集成请求

查询字符串

在测试时我提到了 event["username",对于将其作为查询字符串参数传递的 API 请求,我该怎么办?

【问题讨论】:

  • 如果我理解你的问题,传递给 Lambda 的事件对象有 queryStringParameters 和 pathParameters。所以,event.queryStringParameters.username(如果你使用的是 JavaScript,虽然你没有指明语言)。

标签: amazon-web-services aws-lambda


【解决方案1】:

登录并点击 API 网关并点击方法 - GET 方法

转到方法执行 - 选择 URL 查询字符串参数并添加查询字符串参数用户名

现在转到集成请求选项卡选择身体映射模板,

        "content type application/json"

生成如下模板

{
"username":  "$input.params('username')"
}

现在编写 ;ambada,它接受成对的键值。

module.exports.get = (event, context, callback) => {
  const { username } = event.pathParameters;
  console.log("username", username); 
}

现在在 apigetway 上部署你的 api 并在浏览器示例中找到 url 并点击

          https://xxx.yyy-api.us-east-2.amazonaws.com/prod/username?vaquarkhan

希望对你有帮助

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-10-23
    • 2019-11-18
    • 2015-10-17
    • 2015-11-10
    • 2020-10-15
    • 2021-11-11
    • 2017-05-01
    相关资源
    最近更新 更多