将大型Python包加载到AWS lambda函数中

2024-09-17 02:14:15 发布

您现在位置:Python中文网/ 问答频道 /正文

在尝试将函数上载到AWS lambda时,我似乎无法绕过这个(下面提到的)错误:

The Code tab failed to save. Reason: Unzipped size must be smaller than 262144000 bytes

我压缩了函数及其所有依赖项,并将压缩后的文件上传到S3,并在lambda的提示下粘贴了文件的s3url(从amazons3上传一个文件)。在

任何线索都将不胜感激。谢谢


Tags: 文件thetolambda函数awssizesave
2条回答

正如kosa提到的,有一个250MB的硬限制。这个reddit线程有一些好主意: https://www.reddit.com/r/aws/comments/4qrw9m/how_to_work_around_aws_lambdas_250mb_limit/

大多数解决方案都是1)稍后加载更多的代码,从而绕过250个限制2)将代码拆分成更小的部分,无论如何这更像aws lambda,3)使用strip命令,就像这样:https://serverlesscode.com/post/scikitlearn-with-amazon-linux-container/

2可能是最好的方法,如果你能分开的话

加上熵的答案,用pyminifier这样的东西怎么样?这可能是一个非常简单的解决方案,如果它执行的缩小足以达到250MB的限制。在

另外,如果您使用的是AWS-SDK,则不需要将其作为it is included in the Lambda execution environment包含在您的包中。如果是这样的话,这也可以节省一些空间。在

相关问题 更多 >