我想将旧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);
谢谢!
答案 0 :(得分:7)
你或多或少走在正确的道路上。请尝试下面的代码。它将从容器中获取未在过去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();
}