AWS.SQS.SdkException
cloud
resource_error
ai_generated
true
AWS.SQS.SdkException:消息大小超过最大允许值(256 KB)
AWS.SQS.SdkException: Message size exceeds the maximum allowed (256 KB)
ID: cloud/aws-sqs-message-size-exceeded
90%修复率
88%置信度
1证据数
2023-05-20首次发现
版本兼容性
| 版本 | 状态 | 引入 | 弃用 | 备注 |
|---|---|---|---|---|
| AWS SDK for Python 1.32.0 | active | — | — | — |
| AWS SDK for Java 2.21.0 | active | — | — | — |
| SQS API 2012-11-05 | active | — | — | — |
根因分析
Amazon SQS 将单个消息负载限制为 256 KB(包括元数据);发送更大的消息会触发此异常。
English
Amazon SQS limits individual message payloads to 256 KB (including metadata); sending larger messages triggers this exception.
官方文档
https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/quotas-messages.html解决方案
-
将大负载存储在 Amazon S3 中,并在 SQS 消息中发送 S3 对象键。例如:上传到 S3,然后发送 JSON {'s3_bucket': 'my-bucket', 's3_key': 'path/to/payload.json'}。 -
使用 SQS Extended Client Library(Java 或 Python),自动处理基于 S3 的大消息。
-
通过移除不必要的元数据或使用更紧凑的格式(如 Protocol Buffers 而非 JSON)来减少消息负载。
无效尝试
常见但无效的做法:
-
60% 失败
Compression is not transparent; the receiver must implement decompression, and the raw size limit still applies.
-
80% 失败
SQS does not guarantee order across multiple messages unless using FIFO queues with a message group ID.