amazon-web-services - git 版本控制 lambda 函数

标签 amazon-web-services amazon-s3 aws-lambda aws-sdk aws-api-gateway

为了让开发人员能够在本地编写他们的 lambda 函数,然后提交并推送到 git,我们使用了 SAM 和 SAM Local。

我们有大约 50 个 lambda 函数,预计这个数字会增长到数百甚至数千。

我想知道如何对 lambda 函数存储库进行分组,即 我们是否应该将所有由 api 网关触发的 lambda 函数分组到他们自己的存储库中,然后将所有由 s3 单独触发的函数等等...

挑战是一些 lambda 函数有自己的依赖项,尝试使用多个具有不同依赖项的 lambda 看起来很奇怪 在同一个 repo 中。
一个 lambda 可能有 npm 包依赖 ,另一个可能有 python 库依赖项 等......那么我是 git commit 和 git push 这两个 lambda 在他们自己单独的存储库中还是将它们组织在单独的文件夹中并将它们推送到同一个存储库? 或者每个 lambda 函数都有单独的存储库?

将每个 lambda 提交到自己的存储库似乎并不可行,尤其是随着这些函数的数量随着时间的推移而增长。

我是 aws 工具的新手,希望有人对此有见解!

也许你以前遇到过这个问题?

最佳答案

我会根据他们的目的对他们进行分组。例如,

  • REST API(HTTP 端点)
  • GraphQL API(HTTP 端点)
  • 身份验证 API(HTTP 端点)
  • Admin API(HTTP 端点不是我们面向用户的产品的一部分,但对于管理我们的客户(例如计费系统和公司仪表板)至关重要)
  • 后台工作人员(用于处理图像调整大小、发送电子邮件、聚合数据等后台任务)
  • 操作(不是产品的直接组成部分,但在日常操作中必不可少,例如 Slack WebHook、CI/CD 触发器)

  • 我还推荐诸如 serverless-framework 之类的工具。帮助管理每个项目。

    关于amazon-web-services - git 版本控制 lambda 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48951808/

    相关文章:

    amazon-web-services - 全局 Aurora 数据库的 CloudFormation 模板

    javascript - 上传到 meteor 中的 Amazon s3 未定义属性

    node.js - AWS LEX Web UI 示例

    amazon-web-services - 使用 !Ref 时 AWS SAM 自定义域失败

    amazon-web-services - Cloudformation Init 调用 S3 存储桶

    amazon-web-services - 在 AWS Route53 中创建托管区域

    python-3.x - 无法从 Fargate 容器中访问 S3 存储桶(错误请求并且无法找到凭据)

    ios - 使用预签名 URL 将文件上传到 AWS S3 的代码有什么问题?

    python - 在 AWS Lambda 中重用 scikit 学习模型 .pkl

    amazon-web-services - 托管静态网站的 S3 存储桶策略