将所有API网关请求传递给一个Lambda函数
问题描述:
我在AWS Lambda中使用强循环,我想以某种方式触发它。目前唯一可用的选项是APi Gateway。有没有办法创建一个资源,并将其所有请求传递给单个lambda函数?将所有API网关请求传递给一个Lambda函数
我想要实现这样的
/api/* --> Lambda Function
AWS是否支持呢?
答
这是由API网关代理资源支持的。您可以创建一个特殊的路径参数{proxy+}
,它表示父API的任何子资源。 ANY
方法可用于捕获该资源上的所有http方法。
在你的情况下,你需要创建一个api资源/api
并在其下创建一个新的代理资源{proxy+}
。如果您通过AWS控制台创建它,您只需选中选项的复选框,在创建资源时配置为代理资源。当您进入集成设置时,请选择Lambda函数代理作为您的集成类型,选择区域并选择要调用的lambda函数。
这在API网关文档here中有详细描述。