簡體   English   中英

可以添加到Azure隊列的base64編碼字符串的最大長度是多少?

[英]What is the maximum length of base64 encoded string that can be added to Azure queue?

我需要通過Azure隊列發送壓縮的Base64數據,該隊列的限制為64K。
我的代碼壓縮數據,然后將其編碼為Base64字符串。
我驗證壓縮和編碼的字符串不超過64000字節(請參閱下面的encodedLen),但是,當我嘗試添加~57,000字節的消息時,我的代碼崩潰了。

var byteString = Encoding.UTF8.GetBytes(articleDataToSend);  
var compressed = QuickLZ.compress(byteString, 1);  
var encoded = Convert.ToBase64String(compressed);  

var encodedLen = Encoding.UTF8.GetByteCount(encoded);  
if(encodedLen < 64000)
{
    QueueMessage(_nlpInputQueue, encoded);
}

我正在使用Visual Studio 2012和.Net 4.5。
我在這里錯過了什么?

使用Base64編碼時,最大郵件大小為48k http://msdn.microsoft.com/en-us/library/windowsazure/hh767287.aspx

使用Azure Service Bus Queues,您最多可以獲得256k

我相信你最終會得到一個雙重編碼的字符串。 存儲客戶端庫歷史上基於64位編碼放在隊列中的所有內容,因此它是base64編碼的base64編碼字符串。 我的猜測是,如果你QueueMessage(_nlpInputQueue, compressed) ,這將有效。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM