Azure根据上次修改删除旧blob

Ref*_*eft 3 c# azure azure-blob-storage

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

因此,如果自上次修改blob后已过去7天,我想删除它.Blob得到了一个名为last修改过的属性,但看起来它的类型为bool(?)

以前有人走过这条路吗?

像这样的东西:

CloudBlobContainer container = CloudStorageServices.GetCloudBlobsContainer();

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

谢谢!

Gau*_*tri 8

你或多或少走的是正确的道路.请尝试下面的代码.它将从容器中获取blob,这些容器在过去7天内未被修改.

    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();
    }
Run Code Online (Sandbox Code Playgroud)