如何将事件信息从 aws API Gateway get 传递给 Lambda?

Posted

技术标签:

【中文标题】如何将事件信息从 aws API Gateway get 传递给 Lambda?【英文标题】:How to pass event info from aws API Gateway get to 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,虽然你没有指明语言)。 【参考方案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

希望对你有帮助

https://docs.aws.amazon.com/de_de/apigateway/latest/developerguide/welcome.html https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-set-up-simple-proxy.html#api-gateway-set-up-lambda-proxy-integration-on-proxy-resource

【讨论】:

以上是关于如何将事件信息从 aws API Gateway get 传递给 Lambda?的主要内容,如果未能解决你的问题,请参考以下文章