无服务器项目的最佳文件夹结构是什么?

Mur*_*ada 5 aws-lambda aws-api-gateway serverless-framework serverless-architecture

我开始使用AWS Lambda和API网关进行新的无服务器项目。

什么是组织我的项目而不被锁定在诸如无服务器框架或圣杯这样的框架中的最佳方法?

到目前为止,这是我正在使用的内容。

  • 项目目录/
    • serverless.yaml(配置文件)
    • 功能/
      • function1.py
      • function2.py
    • lib /
      • common_helper_functions.py
    • 测试/
      • 单元/
        • test1.py
        • test2.py
      • 功能/
        • test1.py
        • test2.py
    • 迁移
    • 资源
      • cloudformation.templates.json

你们中有人建议组织我的项目的更好方法吗?每个微服务是否获得单独的git repo?我是否缺少其他重要文件夹?

Loc*_*ess 1

如果你的结构有点扁平的话,看起来不错。我喜欢将代码流放在一起。通常有多个函数可以得到结果。这些应该被分组。跨流程但不跨项目的通用函数会进入项目中的通用文件夹。我的回购组织基于整体想法。如果 lambda 跨项目,它们会进入一个公共存储库。项目具体保留在他们的仓库中。

很多时候,使用无服务器架构最困难的部分是找到被调用的代码。通过良好的逻辑分组,您以后会避免很多麻烦。