如何从 Lambda 函数中访问 API Gateway 模型?

Posted

技术标签:

【中文标题】如何从 Lambda 函数中访问 API Gateway 模型?【英文标题】:How can I access API Gateway model from within Lambda function? 【发布时间】:2018-08-01 03:53:21 【问题描述】:

我有一个映射到 API Gateway 的 Lambda 函数,其中我有 defined models 用于请求输入和响应输出。

有没有办法从 Lambda 函数中访问这些 API 模型?

我知道实际的请求数据可以使用正文映射模板从 API Gateway 传递到 Lambda,并从事件对象访问该请求数据。我特别要寻找的是访问 Lambda 代码本身中的模型(存储在 API Gateway 中)?这可能吗?

【问题讨论】:

如果我正确理解您的问题...您的 Lambda 代码是 AWS 客户端。任何具有适当权限的 AWS 客户端都可以对 AWS 进行 API 调用以检索有关 AWS 资源的信息。因此,您的 Lambda 代码可以调用 API Gateway SDK getModel() 来描述现有的 API Gateway 模型。 @cyorkston 您是在询问有关检索模型元数据或如何在 API 网关(例如 /hotels 或 /cars)中对模型进行 API 调用的问题吗? 我正在尝试将模型模式转换为 lambda 函数。看来唯一的选择是调用 Amazon API Gateway REST API 以获取此信息。 【参考方案1】:

不,您不能在 Lambda 函数中访问模型。该模型的全部目的是在数据到达 Lambda 函数之前对其进行验证。 Lambda 只会获取您从 API 网关发送的实际数据,而 Lambda 根本不知道您的 API 网关模型

【讨论】:

以上是关于如何从 Lambda 函数中访问 API Gateway 模型?的主要内容,如果未能解决你的问题,请参考以下文章

如何从 lambda 函数访问父对象?

如何集成 API Gateway 调用带参数的 Lambda 函数?

在 AWS Lambda 中访问 GET 参数

aws 如何从生产环境中的 lambda 函数访问 ECS 服务

如何在自定义授权方 AWS lambda 函数中访问 http 标头

如何从 lambda 访问 cognito 联合身份中的身份数据集