我的 jar 文件只有 70MB,未压缩文件为 170MB,层 zip 文件为 3MB,解压缩文件为 7MB,仍然报错

Posted

技术标签:

【中文标题】我的 jar 文件只有 70MB,未压缩文件为 170MB,层 zip 文件为 3MB,解压缩文件为 7MB,仍然报错【英文标题】:My jar file is only 70MB and uncompressed file is 170MB, layer zip file is 3MB and unzipped file is 7MB, still get error 【发布时间】:2021-12-10 20:17:41 【问题描述】:

我正在使用无服务器框架进行部署。 我的 lambda 代码 jar 文件大小为 70MB,本地解压缩大小为 170mb。 但是当我尝试添加一个 zip 文件为 3MB 且解压缩文件为 7MB 的图层时,会出现错误:Code uncompressed size is greater than max allowed size of 272629760. 部署 lambda 时还有其他数据吗?

【问题讨论】:

请澄清您的具体问题或提供其他详细信息以准确突出您的需求。正如目前所写的那样,很难准确地说出你在问什么。 【参考方案1】:

鉴于您提供的信息,不可能查看错误的来源,因为这些数字并没有真正相加。但是,如果您遇到压缩部署包的大小限制,您可以考虑将 lambda 部署为容器(通过 ECR)而不是 zip,因为与压缩相比,大小配额要高得多部署包。

来源:Lambda quotas

【讨论】:

感谢您回复@stijndepestel > 如果您遇到压缩部署包的大小限制不,实际上我的包大小是 66MB。 > 因为数字并没有真正加起来你的意思是实际的包大小不是 170MB + 7MB 吗?那么其他数据是什么? 我是说根据您提供的数字,您不应该遇到这些限制,但您得到的错误似乎表明您确实遇到了它。因此,如果您似乎无法找出尺寸的来源,使用图像可能是修复它和/或找出您的包裹中添加了哪些其他东西的好方法。 感谢您的回复。因为我们发现我们的代码在新的 AWS Corretto 8 运行时运行良好,所以我们不需要为我们的 lambda 添加层。再次,仍然感谢您的回复。对于 lambda 大小,我们发现当我们从“du -sh”命令获得 354 MB(文件大小)时,从文件系统获得 211.3 MB。也许这就是问题所在。

以上是关于我的 jar 文件只有 70MB,未压缩文件为 170MB,层 zip 文件为 3MB,解压缩文件为 7MB,仍然报错的主要内容,如果未能解决你的问题,请参考以下文章

获取未压缩的图像大小

SQL2005删除大量数据压缩后数据库文件未明显变小,怎么回事?

快速替代 jar 命令来更新 .jar

在 mysql 中导入 70MB 的 csv 文件大约需要 70 小时?

如何将指定文件夹下的内容打包成JAR格式

如何将压缩的声音文件转换为未压缩的文件