部署包大于250MB时,替代AWS lambda?

问题描述 投票:0回答:2

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

所以我无法在Lambda上部署它......

我想知道这种情况下的替代方案是什么?

amazon-web-services aws-lambda
2个回答
2
投票

我会质疑你的架构。如果您遇到AWS设计服务的方式(即lambda 250mb max size)的问题,那么您可能会以某种非预期的方式使用该服务。

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

你的功能做了一件事吗?如果没有,请将其重构为执行不同操作的不同功能。当您拆分为多个函数时,这可能有助于删除依赖关系。

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


1
投票

一些你可以做的是在运行lambda函数之前你可以从s3桶下载依赖项到/ tmp文件夹,然后将它添加到python路径,它会给你额外的512MB,虽然你需要考虑一些下载时间lambda调用

© www.soinside.com 2019 - 2024. All rights reserved.