AWS Lambda - 单独/受保护的二进制存储,因此开发人员不必共享二进制文件?

时间:2016-10-14 18:19:06

标签: amazon-web-services aws-lambda

我试图了解如何在Lambda中使用自定义二进制文件。由于您必须将代码包上传到ZIP文件中(或从S3中提取),这意味着此操作将覆盖您当前拥有的任何内容。所以,让我们说在我们的ZIP文件中有一个像这样的文件夹结构:

myFunc/
  index.js
  bin/
  node_modules/

bin文件夹中有两个二进制可执行文件。这意味着团队中的所有开发人员都必须能够访问这些二进制文件,并且每次即使对index.js进行最小的代码更改,他们也必须每次都使用二进制文件对其进行压缩并上传捆绑包

Lambda中是否有某种方法可以指定某种单独的缓存/存储,其中可以保留二进制文件,而不依赖于源代码?

1 个答案:

答案 0 :(得分:1)

这是您使用构建服务器的任何人 - 推送代码更改,并在几秒钟内自动创建一个包。更好的是,捆绑包可以通过测试pipeline推送,直到几分钟后它到达生产阶段(例如通过AWS API使用boto)。

您可以将某些二进制文件存储在某个地方(例如S3)以供Lambda访问,但是您有一个大量版本控制它们的版本。使用程序所需的一切,创建完整的捆绑包会更容易(也更安全)。其他好处:

  • 您可以完全确定处理特定请求时涉及哪些确切的代码,使调试更容易。
  • 开发人员可以下载整个捆绑包并运行它,而无需建立与二进制存储库的连接。
  • 可以轻松地将捆绑包迁移到其他服务。