Azure队列主体太大,超出了允许的最大限制

时间:2017-08-15 12:19:58

标签: azure azure-storage azure-storage-queues

在将消息从我的c ++应用程序推送到Azure存储时,我的存储队列(不是BLOB - 我知道其他人已经看到了这个blob)我收到以下错误:

  

请求正文太大,超出了允许的最大限制。

我知道我可能需要减少json,但还有其他建议吗? (如在某处增加消息大小?)

2 个答案:

答案 0 :(得分:3)

基于最新Azure,Azure存储队列中的邮件的最大大小 64KB 48 KB ,使用Base64编码时)存储服务限制文档如下。

它是不可配置的,目前Azure支持也不会根据请求增加大小。

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

我建议你减少JSON消息的大小,例如JSON缩小

答案 1 :(得分:3)

正如其他人所说,Azure存储队列邮件大小限制(64K)是一个硬限制。

除了编码,压缩(缩小)等之外:解决此限制的最常见模式是将有效负载存储在队列消息中;相反,将它存储在类似Blob存储的东西中,并且只存储消息类型&元数据(如果需要),以及指向包含要处理的有效负载的blob的URI。

通过遵循此模式,并使用blob存储为您的有效负载,您实际上有效负载大小为4+ TB。并且您还可以在需要时保留有效负载(而在处理后删除队列消息)。