RequestEntityTooLargeException aws protocol_error ai_generated true

ClientError: An error occurred (RequestEntityTooLargeException) when calling the Invoke operation: Request must be smaller than 6291456 bytes for the Invoke operation

ID: aws/lambda-invoke-request-too-large

Also available as: JSON · Markdown · 中文
90%Fix Rate
87%Confidence
1Evidence
2023-09-20First Seen

Version Compatibility

VersionStatusIntroducedDeprecatedNotes
lambda-2024 active
aws-sdk-python-1.34.0 active
aws-cli-2.17.0 active

Root Cause

Lambda synchronous invocation payload exceeds the 6 MB limit, including both request and response sizes.

generic

中文

Lambda同步调用的负载超过6 MB限制,包括请求和响应大小。

Official Documentation

https://docs.aws.amazon.com/lambda/latest/dg/gettingstarted-limits.html

Workarounds

  1. 95% success Use asynchronous invocation (Event invoke) which has a 256 KB payload limit, but for larger payloads, upload data to S3 first and pass the S3 key to Lambda. Example: s3_client.upload_fileobj(data_stream, bucket, key); lambda_client.invoke(FunctionName='myFunc', Payload=json.dumps({'s3_key': key}))
    Use asynchronous invocation (Event invoke) which has a 256 KB payload limit, but for larger payloads, upload data to S3 first and pass the S3 key to Lambda. Example: s3_client.upload_fileobj(data_stream, bucket, key); lambda_client.invoke(FunctionName='myFunc', Payload=json.dumps({'s3_key': key}))
  2. 80% success Reduce payload size by filtering unnecessary fields or using pagination. If using API Gateway, enable payload compression.
    Reduce payload size by filtering unnecessary fields or using pagination. If using API Gateway, enable payload compression.

中文步骤

  1. Use asynchronous invocation (Event invoke) which has a 256 KB payload limit, but for larger payloads, upload data to S3 first and pass the S3 key to Lambda. Example: s3_client.upload_fileobj(data_stream, bucket, key); lambda_client.invoke(FunctionName='myFunc', Payload=json.dumps({'s3_key': key}))
  2. Reduce payload size by filtering unnecessary fields or using pagination. If using API Gateway, enable payload compression.

Dead Ends

Common approaches that don't work:

  1. 90% fail

    Lambda服务在检查大小前不会解压,压缩后的数据仍会被视为原始大小。

  2. 60% fail

    分割负载会增加复杂性和延迟,且可能导致数据一致性问题。