InvalidParameterValueException
aws
resource_error
ai_generated
true
An error occurred (InvalidParameterValueException) when calling the CreateFunction operation: Unzipped size must be smaller than 262144000 bytes
ID: aws/lambda-s3-zip-extract-failed
82%Fix Rate
88%Confidence
1Evidence
2023-08-10First Seen
Version Compatibility
| Version | Status | Introduced | Deprecated | Notes |
|---|---|---|---|---|
| AWS Lambda API 2015-03-31 | active | — | — | — |
| AWS SDK for Python 1.27.0 | active | — | — | — |
| SAM CLI 1.80.0 | active | — | — | — |
Root Cause
The Lambda deployment package's unzipped size exceeds the 250 MB unzipped limit, including layers and code.
generic中文
Lambda 部署包的解压后大小(包括层和代码)超过了 250 MB 的限制。
Official Documentation
https://docs.aws.amazon.com/lambda/latest/dg/gettingstarted-limits.htmlWorkarounds
-
75% success Reduce deployment package size by removing unused dependencies. For Python, use a virtual environment and prune with 'pip install --no-deps' for only required packages. Then rebuild and redeploy.
Reduce deployment package size by removing unused dependencies. For Python, use a virtual environment and prune with 'pip install --no-deps' for only required packages. Then rebuild and redeploy.
-
85% success Use AWS Lambda layers to offload large libraries (e.g., numpy, pandas) from the deployment package. Create a layer with the library, and reference it in the function configuration.
Use AWS Lambda layers to offload large libraries (e.g., numpy, pandas) from the deployment package. Create a layer with the library, and reference it in the function configuration.
-
90% success Use container image support for Lambda: package your function as a Docker image (up to 10 GB) instead of a .zip file. Example: 'docker build -t myfunction . && aws ecr create-repository --repository-name myfunction && docker push ...'.
Use container image support for Lambda: package your function as a Docker image (up to 10 GB) instead of a .zip file. Example: 'docker build -t myfunction . && aws ecr create-repository --repository-name myfunction && docker push ...'.
中文步骤
通过删除未使用的依赖来减少部署包大小。对于 Python,使用虚拟环境,并仅用 'pip install --no-deps' 安装必要的包。然后重新构建并部署。
使用 AWS Lambda 层将大型库(例如 numpy、pandas)从部署包中分离。创建一个包含该库的层,然后在函数配置中引用它。
使用 Lambda 容器镜像支持:将函数打包为 Docker 镜像(最大 10 GB),而不是 .zip 文件。示例:'docker build -t myfunction . && aws ecr create-repository --repository-name myfunction && docker push ...'。
Dead Ends
Common approaches that don't work:
-
90% fail
Compressing the deployment package more aggressively (e.g., using maximum compression) doesn't reduce the unzipped size, which is what matters for the limit.
-
70% fail
Deleting unnecessary files from the package but still including large libraries (e.g., full Python packages) often fails because the unzipped size remains above 250 MB.