我正在使用Microsoft Azure .NET客戶端庫與Azure雲存儲進行交互。我需要能夠訪問關於其元數據集合中每個blob的附加信息。我目前使用CloudBlobDirectory.ListBlobs()方法來獲取我在Blob名稱中設計的目錄結構的特定目錄中的blob列表。 ListBlobs()方法返回IListBlobItem對象的列表。它們只有幾個屬性:Url和對父目錄和父容器的引用。我需要到達實際的blob對象的元數據。如何從CloudBlobDirectory.ListBlobs獲取對BlockBlob對象的引用?
我設想有一種方法可以將IListBlobItem強制轉換爲BlockBlob對象,或者使用IListBlockItem來獲得對BlockBlob的引用,但似乎找不到這種方法。
我的問題是:有沒有辦法從這種方法獲取BlockBlob對象,或者我必須使用不同的方式獲取實際的BlockBlob對象?如果不同,那麼你可以提出一種方法來實現這一目標,同時也可以通過「目錄」方案進行過濾?
我完全同意你的看法,微軟的設計是非常愚蠢的。我正在從MongoDB遷移,至少在MongoDB上我可以搜索元數據。我想使用元數據將blob標記爲具有某些有趣的屬性,然後使用這些屬性檢索所有blob。顯然,在沒有迭代每個blob或使用blob的名稱來存儲過濾器的情況下,這在Windows Azure中是不可能的。 – NathanAldenSr