0
我嘗試使用CloudTable :: ExecuteBatch(新的TableBatchOperation {operation1,operation2}); 每個操作都是一個Retrieve操作。有問題的片段看起來是這樣的:Azure表存儲批行密鑰查找
var partitionKey = "1";
var operation1 = TableOperation.Retrieve(partitionKey, "1");
var operation2 = TableOperation.Retrieve(partitionKey, "2");
var executedResult = ExecuteBatch(new TableBatchOperation{operation1, operation2});
我得到一個異常說,在批處理執行過程中不能有任何檢索操作。有沒有辦法解決這個問題,或者異步執行是處理多個分區鍵,行鍵查找的最佳方式?對於我的用例,我將不得不通過分區鍵和行鍵同時查找最多3個不同的行。
哎呦,我犯了這個問題的一個騙局。我無法真正對一系列行鍵進行查詢,因爲我最終可能想要分區中的第一個和最後一個鍵。我認爲並行查詢可能最終成爲最佳途徑。這與對azure的異步調用相同嗎?如果不是,你能告訴我還是指點我有一個不同的來源?您可以在以後的訪問者的答案中提供此鏈接(或更好的鏈接):http://social.msdn.microsoft.com/Forums/windowsazure/en-us/d573a17b-2221-4c10-80bc-83b12e863c7d/parallel- query-to-azure-table-storage?forum = windowsazuredata – Teeknow
是的,並行調用是異步的,但需要同時並行調用。 應該有很多並行查詢的例子。您也可以考慮使用TPL,因爲它是直接抽象使用線程的一種好方法。 http://msdn.microsoft.com/en-us/library/dd537609.aspx。 如果您只需要運行3個查詢返回單行,並行化可能無法提供最佳性能,順序處理可能就足夠了。並行調用更有意義,如果你有很多和/或他們執行復雜的查詢,返回大量的行。 – hocho