获取 API Gateway 传递的 Lambda (Nodejs) 中的 url 参数

Posted

技术标签:

【中文标题】获取 API Gateway 传递的 Lambda (Nodejs) 中的 url 参数【英文标题】:Get url parameter in Lambda (Nodejs) passed by API Gateway 【发布时间】:2016-08-10 08:59:57 【问题描述】:

我已经像这样设置了 API Gateway 端点:

获取文件/文件名

因此,我会这样称呼它:https://mydomain/api/files/somefile

我还有一个带有 Nodejs 的 lambda 函数,它是空的:

exports.handler = 函数(事件,上下文)

//在此处检索名为'filename'的参数并对其进行处理

;

如何获取 GET 请求中传递的参数?我检查了事件和上下文对象,但找不到任何有用的东西。

谢谢!!

【问题讨论】:

【参考方案1】:

要获取路径参数、HTTP 标头变量(等),您必须创建一个映射模板。

    在 API Gateway 控制台中,选择您的获取资源,您应该会看到一个带有 4 个框的面板。 点击“集成请求”(右上角) 在底部展开“身体映射模板” 定义内容类型(很可能是“application/json”) 尝试“生成模板:方法请求通道”以开始使用 保存 现在为您的 HTTP Get 尝试“测试”,希望您会看到缺少的路径参数等。

祝你好运。

【讨论】:

以上是关于获取 API Gateway 传递的 Lambda (Nodejs) 中的 url 参数的主要内容,如果未能解决你的问题,请参考以下文章

AWS API Gateway 集成请求 Http 标头未传递给 lambda

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

如何将参数从 POST 从 Amazon API Gateway 传递到 AWS Lambda

如何在 AWS API Gateway GET 请求中传递查询参数? [复制]

从 API Gateway 获取 terraform 中 AWS lambda 的端点

AWS CDK 将 API Gateway URL 传递到同一堆栈中的静态站点