c# - Azure根据上次修改删除旧的blob

标签 c# azure azure-blob-storage

我想将旧的 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/

相关文章:

C# : Wait for n miliseconds, 并每 n/m 毫秒测试一个 bool 值

c# - 如何使用用户凭据从 azure 广告生成不记名 token

python - 如何将文件上传到azure blob存储?

c# - Azure Function Blob 触发器将文件复制到文件共享

c# - 更改 TabControl 未使用空间的颜色

c# - 在 c# 中运行 Powershell 脚本 -ConvertToJson 错误

node.js - Azure Cosmos DB (mongodb) find() '$in' 查询不返回任何内容

angularjs - 如何通过 WebApp 图像前端项目有效地使用 Azure CDN

c# - += 和 Delegate.Combine 的区别

azure - 合并复杂的 Kusto 查询