2014-10-29 84 views
1

Azure是否對收到的批次項目有某種限制?下面的代碼只檢索450級的消息儘管被要求更多:Azure服務總線隊列一次只能接收450條消息

QueueConnector.MyQueueClient.ReceiveBatch(1000, new TimeSpan(0, 0, 10)); 

我試過增加倍,但它不會有任何影響 - 450,每一次。這似乎是批量接收的Azure SDK文檔中推薦的方式。

注意:隊列中有成千上萬個項目。

+0

再看看它。你確定你正在訪問正確的隊列嗎?你在哪裏放棄這些消息? – 2014-10-29 18:23:59

+0

100%肯定它是正確的隊列。儘管'1000'是硬編碼的,我可以在每次請求時都能看到每次450個點的數據。我現在的解決方法是繼續接收,直到實際收到請求的號碼。 – 2014-10-29 19:03:47

+0

你用什麼樣的應用程序來調用它?網絡工作?工人角色? Web API? – 2014-10-30 18:05:06

回答

1

傳遞給ReceiveBatch的計數是一個上限,文檔中也提到了這一點,所以這是預期的行爲。 Service Bus將根據消息可用性或批量大小發布批處理。批量上限爲256 kB,用於發送和接收。對於SendBatch,這也在文檔中說過。

+0

我每次都得到256條消息。很奇怪。我知道我的消息不是每個1K。 – KingOfHypocrites 2015-05-25 00:05:07

相關問題