【问题标题】:AWS Lambda: How to manage deployment packages greater than 250mbAWS Lambda:如何管理大于 250mb 的部署包
【发布时间】:2020-06-24 09:09:41
【问题描述】:

我在 Python3.6 中有一些图像处理代码,我正在尝试使用 AWS SAM 将其部署到 AWS Lambda。所有依赖项(pip 包)的总大小大于 250mb。我已经将该功能分解为更小的部分,但它们最终都使用相同的包,因此这无助于减小尺寸。

我正在使用以下软件包:

opencv-python
numpy
joblib
imutils
mahotas
scikit-image
scikit-learn==0.22.1
sklearn

在我的用例中,冷启动不是问题,所以我不介意。我有哪些可能的选择?要求是在 Lambda 上运行它。

【问题讨论】:

  • 它们都比 250MB 大多少?您是否正在使用特定的部署工具? SAM 还是 sls?
  • 大约 340mb。是的,我正在使用 SAM。

标签: python amazon-web-services aws-lambda


【解决方案1】:

AWS 最近发布了对 Lambda 的 EFS 支持。您应该能够将您的依赖项放在那里。这篇博文中有一些例子:Using Amazon EFS for AWS Lambda in your serverless applications

【讨论】:

  • 谢谢,解决了这个问题。但在我的用例中,我的 Lambda 不能成为任何 VPC 的一部分,并且必须在不使用 NAT 网关等的情况下对互联网开放。如果您的用例是在 VPC 中使用 Lambda,这是一个很好的解决方案。如果不;您可以尝试使用无服务器框架的 zipslimstrip 选项来尝试使包的大小更易于管理。
猜你喜欢
  • 2023-03-29
  • 2018-12-01
  • 2018-11-03
  • 1970-01-01
  • 1970-01-01
  • 2019-07-05
  • 1970-01-01
  • 2017-06-19
  • 1970-01-01
相关资源
最近更新 更多