当部署程序包大于250MB时,可以替代AWS Lambda吗?

时间:2019-03-24 19:16:16

标签: amazon-web-services aws-lambda

当我要启动一些无服务器代码时,我使用AWS Lambda。但是,这次我的部署程序包大于250MB。

所以我不能将其部署在Lambda上...

我想知道在这种情况下有哪些替代方案?

2 个答案:

答案 0 :(得分:2)

我会问你的架构。如果您在AWS如何设计服务时遇到问题(即最大大小为250mb的lambda),则可能是您以非预期的方式使用了该服务。

我经常看到的一种反模式是人们将所有代码填充到一个函数中。类似于将所有代码部署到单个服务器上的方式。这实际上不是AWS lambda的用例。

您的函数执行一件事吗?如果不是,则将其重构为执行不同功能的不同功能。当您拆分为多个功能时,这可能有助于消除依赖性。

您可以查看的另一件事是,您是否可以使用其他语言编写函数代码(保持函数较小的另一个原因)。我曾经在python中拥有超过250mb的lambda函数。当我着眼于用node.js解决同样的问题时,我的函数大小降到了20mb。

答案 1 :(得分:0)

您可以做的一件事是在运行lambda函数之前,您可以将依赖项从s3存储桶下载到/ tmp文件夹,然后将其添加到python路径,这将为您提供额外的512MB,尽管您需要考虑下载进行一些lambda调用的时间