AWS Lambda - separate/protected 二进制存储,因此开发人员不必共享二进制文件?
AWS Lambda - separate/protected binary store, so devs don't have to share binary files?
我正在努力思考如何将自定义二进制文件与 Lambda 结合使用。由于您必须将代码包上传到 ZIP 文件中(或从 S3 中提取),这意味着此操作将覆盖您当前拥有的任何内容。假设我在所述 ZIP 文件中有这样的文件夹结构:
myFunc/
index.js
bin/
node_modules/
在 bin
文件夹中有几个二进制可执行文件。这意味着团队中的所有开发人员都必须能够访问这些二进制文件,并且每次对 index.js
进行哪怕是最小的代码更改时,他们都必须每次都将其与二进制文件一起压缩并上传包.
Lambda 中是否没有某种方法可以指定某种单独的 cache/store 可以独立于源代码保存二进制文件的地方?
这就是您使用构建服务器的目的 - 任何人推送代码更改,并在几秒钟内自动创建一个包。更好的是,可以在几分钟后通过测试 pipeline until it reaches production (via the AWS API using for example boto) 推送捆绑包。
您可以将二进制文件存储在 S3 之类的地方以供 Lambda 访问,但是您会遇到 大量 版本控制问题。创建一个包含程序所需一切的完整包要容易得多(也更安全)。额外好处:
- 您可以绝对确定在处理特定请求时涉及了哪些确切代码,从而使调试变得更加容易。
- 开发人员可以下载整个包并 运行 它而无需与二进制存储库建立连接。
- 可以轻松地将捆绑包迁移到其他服务。
我正在努力思考如何将自定义二进制文件与 Lambda 结合使用。由于您必须将代码包上传到 ZIP 文件中(或从 S3 中提取),这意味着此操作将覆盖您当前拥有的任何内容。假设我在所述 ZIP 文件中有这样的文件夹结构:
myFunc/
index.js
bin/
node_modules/
在 bin
文件夹中有几个二进制可执行文件。这意味着团队中的所有开发人员都必须能够访问这些二进制文件,并且每次对 index.js
进行哪怕是最小的代码更改时,他们都必须每次都将其与二进制文件一起压缩并上传包.
Lambda 中是否没有某种方法可以指定某种单独的 cache/store 可以独立于源代码保存二进制文件的地方?
这就是您使用构建服务器的目的 - 任何人推送代码更改,并在几秒钟内自动创建一个包。更好的是,可以在几分钟后通过测试 pipeline until it reaches production (via the AWS API using for example boto) 推送捆绑包。
您可以将二进制文件存储在 S3 之类的地方以供 Lambda 访问,但是您会遇到 大量 版本控制问题。创建一个包含程序所需一切的完整包要容易得多(也更安全)。额外好处:
- 您可以绝对确定在处理特定请求时涉及了哪些确切代码,从而使调试变得更加容易。
- 开发人员可以下载整个包并 运行 它而无需与二进制存储库建立连接。
- 可以轻松地将捆绑包迁移到其他服务。