将大型 AWS SAM 模板文件分解为更小、更易于管理的文件

问题描述 投票:0回答:0

我正在使用 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 一起使用来获得类似的结果?

aws-lambda microservices aws-cloudformation serverless aws-sam
© www.soinside.com 2019 - 2024. All rights reserved.