【发布时间】:2018-08-03 17:50:29
【问题描述】:
为了让开发人员能够在本地编写他们的 lambda 函数,然后提交并推送到 git,我们使用了 SAM 和 SAM Local。
我们有大约 50 个 lambda 函数,预计这个数字会增长到数百甚至数千。
我想知道如何对 lambda 函数存储库进行分组,即 我们是否应该将所有由 api 网关触发的 lambda 函数分组到它们自己的仓库中,然后将所有由 s3 分别触发的函数分组等等...
挑战在于一些 lambda 函数有自己的依赖项,尝试在同一个 repo 中拥有多个具有不同依赖项的 lambdas 看起来很奇怪。 一个 lambda 可能有 npm 包依赖项,另一个可能有 python 库依赖项,等等......我也是git commit 和 git push 这两个 lambda 在他们自己单独的仓库中或将它们组织在单独的文件夹中并将它们推送到同一个仓库? 或者每个 lambda 函数都有单独的 repos?
将每个 lambda 提交到自己的 repo 似乎并不可行,尤其是随着这些函数的数量随着时间的推移而增加。
我是 aws 工具的新手,希望有人对此提出见解!
也许你以前遇到过这个问题?
【问题讨论】:
-
这 50 个 lambda 函数有什么共同点?
-
没有太多共同点;他们中的大多数人都在做一次性的任务;只有 api 网关功能被分组在同一个 repo 中,但其余的不依赖于 api;它们由 SNS 触发,其他由 kinesis 触发,其他由 S3 存储桶触发。我不喜欢每个函数有一个 git repo 的想法,因为加班是不可持续的!
标签: amazon-web-services amazon-s3 aws-lambda aws-sdk aws-api-gateway