Azure Blob存储列表Blob

时间:2012-02-09 15:52:10

标签: c# azure azure-storage-blobs

我需要一个从azure列出blob的功能,这样如果我指定日期,列表应该只包含在该日期之后创建的blob。

目前我正在使用BlobDirectory.ListBlobs()函数返回所有blob。它还有一个重载函数,它将BlobRequestOptions作为参数。我已经尝试将BlobRequestOptions中的AccessCondition设置为AccessCondition.IfModifiedSince(Date.UTC.Now)但不知何故它给了我存储在容器中的所有blob。

关于我可以采取哪些不同方式来获取特定blob子集的任何建议

4 个答案:

答案 0 :(得分:2)

本文介绍了获取某个日期http://blogs.msdn.com/b/avkashchauhan/archive/2011/07/29/programatically-deleting-older-blobs-in-windows-azure-storage.aspx

之前的blob

显然很容易做到改变它以使blob比特定日期更新。

答案 1 :(得分:0)

您可以使用客户端过滤器来获取所需的数据。因此,在显示结果之前,请下拉blob,然后在代码中过滤它们(使用Linq或任何您喜欢的内容)。

答案 2 :(得分:0)

我不认为AccessCondition会应用于blob列表,只是一个单独的blob本身(虽然文档不清楚)。快速HTTP跟踪将确认是否为该呼叫发送了关联的HTTP标头。

如果它确实适用于ListBlobs()调用,则资源将是blob容器本身。因此,我希望它能够返回容器中的所有blob或者没有blob,具体取决于自提供日期以来容器是否已被修改。

答案 3 :(得分:0)

您可以做的另一件事是保存存储表以及文件列表。使用它作为索引,通过筛选表来查找您关心的人。我已经完成了一些代码,但我也完全控制了写入存储帐户的内容(只有我的应用程序才能执行)。因此实施起来并不算太糟糕。