问题
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?)
回答1:
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).
回答2:
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
来源:https://stackoverflow.com/questions/45692731/azure-queue-body-is-too-large-and-exceeds-the-maximum-permissible-limit