【问题标题】:AWS: How to pass the resource defined in API gateway to lambda?AWS:如何将 API 网关中定义的资源传递给 lambda?
【发布时间】:2021-05-27 06:19:49
【问题描述】:

我尝试构建一个简单的 Rest API。我只知道如何通过映射将查询字符串传递给我的 lambda 函数。现在我想知道是否有办法将“资源”传递给我的 lambda 函数?

例如,我的 lambda 怎么能得到“水果”和“蔬菜”?

【问题讨论】:

  • 我添加了一个答案,我们只需在您的屏幕截图中检查Use Lambda Proxy integration

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


【解决方案1】:

Integration Request LAMBDA 将单独将请求正文传递给 Lambda

集成请求LAMBDA_PROXY 将附加标头、查询参数等并发送类似于here 的丰富请求,请求正文将简单地作为body 中的字符串。这已经包含了我们需要的一切,使用的 api-key、api-id、headers、stages、parms 等。如果我们不喜欢这样,那么我们可以通过设置自定义映射模板来自定义请求正文(就像其他回答)

我们可以通过单击集成请求并选中 Use Lambda Proxy integration 来启用 Lambda 代理集成

【讨论】:

    【解决方案2】:

    您可以在mapping template 中定义一个映射,如下所示,我为名为@9​​87654327@ 的资源定义了一个GET HTTP 方法。

    $context Variables for data models, authorizers, mapping templates, and CloudWatch access logging

    它将对您的 lambda 可用,如下面的日志中所示。

    【讨论】:

      猜你喜欢
      • 2021-03-16
      • 2019-08-08
      • 1970-01-01
      • 1970-01-01
      • 2019-11-18
      • 2020-03-10
      • 2018-08-05
      • 1970-01-01
      • 2020-05-31
      相关资源
      最近更新 更多