10
votes

I am getting the following error with my storage queue (NOT BLOB - I know others have seen this with the blob) when pushing the message from my c++ app to Azure Storage:

The request body is too large and exceeds the maximum permissible limit.

I'm aware that I probably need to cut the json down, but are there any other suggestions? (as in increase message size somewhere?)

2

2 Answers

18
votes

As others have stated, the Azure Storage Queue message size limit (64K) is a hard limit.

Aside from encoding, compression (minification), etc: The most common pattern to work around this limit is to not store your payload in the queue message; rather, store it in something like Blob storage, and only store the message type & metadata (if needed), along with a URI pointing to the blob containing your payload to process.

By following this pattern, and using blob storage for your payload, you effectively have potential payload size of 4+ TB. And you also have the ability to persist your payload if needed (whereas queue messages are deleted after processing).

5
votes

The maximum size for a message in the Azure storage queue is 64KB (48 KB when using Base64 encoding) based on the latest Azure Storage Service Limits documentation as below.

It is non-configurable and at the moment Azure support also will not increase the size upon request.

https://docs.microsoft.com/en-us/azure/azure-subscription-service-limits#storage-limits

I will suggest you to reduce the size of your JSON message e.g. JSON minify