多个无服务器文件共享同一个 api 网关

Multiple serverless files sharing the same api gateway

我正在使用无服务器框架构建 REST API。我已经达到了 200 个限制堆栈大小并阅读了多种规避它的方法。最常见的方法是将堆栈拆分为 "microservices fashion",其中每个堆栈处理一组有意义的特定资源。

由于无服务器的工作原理,这些服务中的每一个都会为自己创建一个新的 api 网关,然后,如 blog post 中所述,可以在它们之间设置一个共享域,以便所有端点可以通过同一个base访问url.

尽管这是一个有效的解决方案,但我真的很希望能够使用在不同堆栈之间共享的单个 API 网关资源,因此我不必预先决定关注点分离在我的 api 的不同组件之间。这可能吗?

此功能最近已添加到无服务器中。文档可用 here

本质上,可以通过 "providers".

中的配置选项配置要在无服务器文件中使用的 apiGateway
provider: 
  ...
  apiGateway:
    restApiId: xxxxxxxxxx # REST API resource ID. Default is generated by the framework
    restApiRootResourceId: xxxxxxxxxx # Root resource, represent as / path

此功能由此 pull request 引入,可从无服务器版本 1.26 开始使用。