我想将旧的 blob 添加到列表中,然后遍历它并删除它们。

因此,如果自上次修改 blob 以来已经过去了 7 天,我想将其删除。
Blob 有一个名为 last modified 的属性,但它的类型似乎是 bool (?)

以前有人走过这条路吗?

像这样的东西:

CloudBlobContainer container = CloudStorageServices.GetCloudBlobsContainer();

var blobs = container.ListBlobs().OfType<CloudBlockBlob>().Where(b=>b.Properties.LastModified - b.Properties.LastModified.AddDays(7)).TotalHours <= 0);

谢谢!

最佳答案

你或多或少走在正确的道路上。试试下面的代码。它将从过去 7 天内未修改的容器中获取 blob。

    static void GetOldBlobs()
    {
        CloudStorageAccount acc = new CloudStorageAccount(new StorageCredentials("account name", "account key"), false);
        var client = acc.CreateCloudBlobClient();
        var container = client.GetContainerReference("container name");
        var blobs = container.ListBlobs("", true).OfType<CloudBlockBlob>().Where(b => (DateTime.UtcNow.AddDays(-7) > b.Properties.LastModified.Value.DateTime)).ToList();
    }

关于c# - Azure 根据上次修改删除旧 blob,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/23935673/

10-11 02:59
查看更多