将所有 API 网关请求传递给一个 Lambda 函数

Pass All API Gateway Requests to one Lambda Function

我在 AWS Lambda 中使用强循环,我想以某种方式触发它。目前唯一可用的选项是 APi 网关。有没有办法创建一个资源并将其所有请求传递给单个 lambda 函数?

我想实现这样的目标

/api/* --> Lambda Function

AWS 支持吗?

API 网关代理资源支持此功能。您可以创建一个特殊的路径参数 {proxy+},它表示父 API 的任何子资源。 ANY 方法可用于捕获该资源上的所有 http 方法。

在您的情况下,您需要创建一个 api 资源 /api,然后在其下创建一个新的代理资源 {proxy+}。如果您通过 AWS 控制台创建它,则只需在创建资源时选中 配置为代理资源 选项的复选框。当您进入集成设置时,select Lambda 函数代理 作为您的集成类型,选择区域和 select 您要调用的 lambda 函数。

这在 API 网关文档 here 中有详细描述。