Azure Blob存储列表Blob

本文关键字:Blob 列表 存储 Azure | 更新日期: 2023-09-27 18:23:51

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

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

任何关于我可以用不同的方式获得特定Blob子集的建议

Azure Blob存储列表Blob

这篇文章展示了比某个日期更老的斑点http://blogs.msdn.com/b/avkashchauhan/archive/2011/07/29/programatically-deleting-older-blobs-in-windows-azure-storage.aspx

显然,改变它以获得比某个日期更新的斑点非常简单。

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

如果它确实应用于ListBlob()调用,那么资源将是blob容器本身。因此,我希望它返回容器中的所有Blob或不返回任何Blob,这取决于容器itelf自提供日期以来是否已被修改。

您可以进行客户端筛选以获得所需的数据。因此,在显示结果之前,先下拉Blob,然后在代码中对其进行过滤(使用Linq或任何您喜欢的方法)。

您可以做的另一件事是保留一个包含文件列表的存储表。将其用作索引,通过在表上进行筛选来查找您关心的对象。我已经完成了一些代码,但我也完全可以控制写入存储帐户的内容(只有我的应用程序可以)。所以实施起来还不错。