aws-api-gateway - 使用 AWS SAM 嵌套应用程序构建大型 API 网关的正确方法是什么?
问题描述
我有一个包含大约 150 个端点的 API。当我尝试在一个 SAM(无服务器应用程序模型)模板中部署整个东西时,它会失败(预期),因为它想要创建的 744 个资源大于允许的最大值 200。
我将应用程序分解为一个默认模板,该模板创建无服务器 API 和一个默认路由和 Lambda 函数,并将分组的函数放在它们自己的模板中,上传到 S3 并在 aws::serverless::application (嵌套堆栈)中引用它们传入对在默认模板中创建的 API 网关的引用。
令我惊讶的是,它失败并出现错误:
RestApiId 必须是对同一模板中“AWS::Serverless::Api”资源的有效引用
在同一个模板中?!是否无法使用嵌套应用程序来绕过 200 个资源限制并且不被迫创建多个 API 网关实例?
更新:
SAM 开发人员似乎已注意到此问题,并且有一个问题和 RFC 正在解决中(截至 2019 年 5 月 5 日,这两个问题都未解决):
https://github.com/awslabs/serverless-application-model/issues/349 https://github.com/awslabs/serverless-application-model/issues/866
2021 年 10 月更新:
两年多后,GitHub 中的上述问题仍然存在
解决方案
推荐阅读
- facebook - 我如何知道 Facebook 用户 ID 是全局 uid 还是应用范围内的用户 ID (ASID)?
- reactjs - 使用 gatsby-plugin-mailchimp 将地址信息发送到 mailchimp
- kotlin - 在 kotlin DSL 中访问 teamcity 参数
- laravel - Laravel 护照延长访问令牌的过期时间
- sql - 以第三个表为条件连接两个表
- r - 在 R 中使用 ggplot2 向饼图图例添加值
- python - 计算 Pandas 数据框中的行之间的差异
- javascript - 具有多个属性的排序数组(降序日期,名称)
- ssl - gRPC ssl上下文配置
- javascript - http请求的默认超时时间是多少?