2016-05-15 16 views
1

我正在使用Azure存儲隊列客戶端列出所有已創建的隊列。 SDK中有兩種方法client.ListQueuesSegmentedclient.ListQueues。兩者都允許您使用前綴進行查詢。 ListQueuesSegmented使用令牌來幫助您查詢下一個細分。我試圖瞭解在什麼情況下你會使用另一種。ListQueuesSegmented vs ListQueues

回答

0

ListQueuesSegmented以塊爲單位返回結果...以遍歷所有隊列的列表,您對ListQueuesSegmented進行連續調用,並從先前的QueueResultSegment返回值傳遞QueueContinuationToken(如果這是第一次調用,則返回null到ListQueuesSegmented)。

ListQueues將通過一次呼叫將所有隊列返回給您...但如果您有多個隊列,則這可能非常昂貴。除非你知道你只會返回少量的隊列,否則選擇分段的方法。

您還應該考慮使用這些方法的異步版本,以避免在等待結果返回時阻止調用線程。

祝你好運!

+0

「但這可能非常昂貴」。這種情況下昂貴的含義是什麼?在我的測試代碼local developmentstorage中,我能夠使用ListQueues檢索1000個隊列沒有問題。當然,如果我在生產這個過程中需要時間。但是在美元方面是否昂貴?另一個問題是讓5萬個隊列,在這樣的規模,爲什麼有人會做listQueue或ListQueuesSegmented。我沒有看到它們中的任何一個,因爲我將使用前綴來獲取隊列。謝謝。 – Mitul

+0

這種情況下的開支意味着從API返回大量數據的可能性,如果您有許多隊列並且不會過濾結果。 ListQueuesSegmented僅允許您對結果實施分頁。 由於您已經過濾了結果,因此您可能不需要以分段形式返回結果。 – JoshL

相關問題