如何减少无服务器部署的规模?

时间:2017-10-22 14:08:37

标签: aws-lambda serverless-framework serverless

我正在使用无服务器框架部署aws lambda函数。我的问题是,每次sls deploy -f any_fn时都会部署large file(44MB)。当有node_modules文件夹(可能很大)时,我遇到了类似的问题。

是否有办法通过仅上传公共文件一次(以及所有功能)来减少上传大小?因为它现在一次又一次地压缩和部署同一个二进制文件,尽管它永远不会改变。

2 个答案:

答案 0 :(得分:2)

没有办法做你的建议。 AWS Lambda要求您每次都上传整个包,包括所有依赖项。一切都必须在部署到Lambda的zip文件中。

答案 1 :(得分:0)

这是我的解决方案:

  1. 将大文件上传到S3存储桶。
  2. 在全局范围内执行的功能下载所有S3文件,不在范围内 exports.handler的{​​{1}}因此代码将只执行一次(for 容器)。
  3. 为了确保重新使用容器,您应该保留 lambda使用 CloudWatch 计时器加热two simple steps
  4. 这允许您只部署小文件。