我需要一个从azure列出blob的功能,这样如果我指定日期,列表应该只包含在该日期之后创建的blob。
目前我正在使用BlobDirectory.ListBlobs()函数返回所有blob。它还有一个重载函数,它将BlobRequestOptions作为参数。我已经尝试将BlobRequestOptions中的AccessCondition设置为AccessCondition.IfModifiedSince(Date.UTC.Now)但不知何故它给了我存储在容器中的所有blob。
关于我可以采取哪些不同方式来获取特定blob子集的任何建议
答案 0 :(得分:2)
显然很容易做到改变它以使blob比特定日期更新。
答案 1 :(得分:0)
您可以使用客户端过滤器来获取所需的数据。因此,在显示结果之前,请下拉blob,然后在代码中过滤它们(使用Linq或任何您喜欢的内容)。
答案 2 :(得分:0)
我不认为AccessCondition会应用于blob列表,只是一个单独的blob本身(虽然文档不清楚)。快速HTTP跟踪将确认是否为该呼叫发送了关联的HTTP标头。
如果它确实适用于ListBlobs()调用,则资源将是blob容器本身。因此,我希望它能够返回容器中的所有blob或者没有blob,具体取决于自提供日期以来容器是否已被修改。
答案 3 :(得分:0)
您可以做的另一件事是保存存储表以及文件列表。使用它作为索引,通过筛选表来查找您关心的人。我已经完成了一些代码,但我也完全控制了写入存储帐户的内容(只有我的应用程序才能执行)。因此实施起来并不算太糟糕。