AWS SQS AWS.SimpleQueueService.MessageTooLong

The message exceeds the maximum allowed size.

Understanding AWS SQS

Amazon Simple Queue Service (SQS) is a fully managed message queuing service that enables you to decouple and scale microservices, distributed systems, and serverless applications. SQS eliminates the complexity and overhead associated with managing and operating message-oriented middleware, and empowers developers to focus on differentiating work.

Identifying the Symptom

When working with AWS SQS, you might encounter the error code AWS.SimpleQueueService.MessageTooLong. This error indicates that the message you are attempting to send exceeds the maximum allowed size for SQS messages.

What You Observe

When this error occurs, your application will fail to send the message to the queue, and you will receive an error response indicating that the message is too long.

Details About the Issue

The AWS.SimpleQueueService.MessageTooLong error is triggered when the size of the message being sent to an SQS queue exceeds 256 KB. This limit includes the message body and any metadata associated with the message.

Understanding Message Size Limits

Amazon SQS enforces a strict limit on message sizes to ensure efficient processing and delivery. Messages larger than 256 KB cannot be processed and will result in the aforementioned error.

Steps to Fix the Issue

To resolve the AWS.SimpleQueueService.MessageTooLong error, you need to reduce the size of the message being sent to the queue. Here are some strategies to consider:

1. Compress the Message

Consider compressing the message content before sending it to the queue. Libraries such as zlib for Node.js or zlib for Python can be used to compress data, potentially reducing the message size significantly.

2. Split the Message

If compression is not sufficient, consider splitting the message into smaller parts and sending each part as a separate message. You can then reassemble the message on the receiving end.

3. Use Amazon S3 for Large Payloads

For very large messages, consider storing the message content in Amazon S3 and sending a reference (such as an S3 URL) in the SQS message. This approach allows you to bypass the size limitation of SQS messages.

Conclusion

By understanding the limitations of AWS SQS and implementing strategies to manage message sizes, you can effectively resolve the AWS.SimpleQueueService.MessageTooLong error. For more detailed information, refer to the AWS SQS Developer Guide.

Never debug

AWS SQS

manually again

Let Dr. Droid create custom investigation plans for your infrastructure.

Book Demo
Automate Debugging for
AWS SQS
See how Dr. Droid creates investigation plans for your infrastructure.

MORE ISSUES

Made with ❤️ in Bangalore & San Francisco 🏢

Doctor Droid