3.4.1 Lambda Deployment Packaging Options

Lambda Deployment Packaging Options

MethodSize LimitUse Case
ZIP (direct)50MB zipped, 250MB unzippedSmall functions
ZIP (via S3)50MB zipped, 250MB unzippedLarger packages
Container Image10GBComplex dependencies
Layers250MB total (5 layers)Shared libraries

ZIP Package

pip install -r requirements.txt -t ./package
cp lambda_function.py ./package/
cd package && zip -r ../function.zip .

Container Image

FROM public.ecr.aws/lambda/python:3.12
COPY requirements.txt .
RUN pip install -r requirements.txt
COPY app.py .
CMD ["app.handler"]

Layers

  • Shared dependencies across functions
  • Versioned, immutable
  • Max 5 layers, total ≤ 250MB

Exam Tip: ZIP max 250MB unzipped. Container max 10GB. Layers for shared deps. S3 upload for packages > 50MB.