如何将事件信息从 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?的主要内容,如果未能解决你的问题,请参考以下文章

AWS API Gateway 默认响应和触发 AWS Lambda

如何从 AWS API Gateway cloudwatch 日志中获取用户的公共 IP?

通过 HTTP 集成从 AWS Api Gateway 中的 websocket 提取 websocket 连接 ID 和其他详细信息

AWS API Gateway按标头信息调用Lambda版本

如何将特定 AWS API Gateway 阶段连接到特定 AWS lambda 别名

如何从 AWS API Gateway 自定义授权方检索 Spring Boot 中的上下文对象?