我正在使用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