我正在使用 AWS SAM 开发一个大型无服务器应用程序,模板文件变得如此庞大和复杂以至于难以管理。我想把它分解成更小、更易于管理的文件,但我不确定最好的方法。
我听说嵌套堆栈可能是一个选项,但我不确定如何实现它们,或者是否有其他方法可以实现。
将大型 AWS SAM 模板文件分解为更小、更易于管理的文件的最佳方法是什么?这样做有什么最佳实践或推荐模式吗?以及如何在这样做的同时维护应用程序的整体结构和组织?
任何有关如何分解大型应用程序的 AWS SAM 模板的建议或示例将不胜感激。谢谢!
这是我如何在 serverless.yml 中做到这一点的示例:
serverless.yml
service: example
frameworkVersion: "3"
useDotenv: true
functions:
${file(./services/authentication/functions.yml)}
${file(./services/posts/functions.yml)}
functions.yml
get-example:
image:
name: latest
command: example_service/app.lambda_handler
entryPoint:
- "/lambda-entrypoint.sh"
events:
- http:
path: example/get
method: get
cors: true
authorizer: authorizer
有没有办法为 AWS SAM 模板实现这种拆分?我研究过使用嵌套堆栈,但这似乎不是一个非常优雅的解决方案。
我还使用 serverless-compose 以更模块化的方式管理我的 serverless.yml 文件。是否有类似的工具或技术可以与 AWS SAM 一起使用来获得类似的结果?