如何列出容器中最古老的5个斑点

时间:2019-07-16 15:54:25

标签: c# azure-storage-blobs

我希望能够列出容器中最古老的5个斑点。

我正在创建一个客户端:

CloudStorageAccount.TryParse(connection, out CloudStorageAccount storageAccount);
var blobClient = storageAccount.CreateCloudBlobClient();

在此步骤中,我需要获取5个最旧的Blob,以便将其复制到其他容器中。

我们如何列出容器中最古老的5个斑点?

1 个答案:

答案 0 :(得分:1)

如@Davidg所述,您可以在 OrderByDescending 日期使用 LastModified ,但是它将扫描所有文件。

CloudBlobContainer rootContainer = blobClient.GetContainerReference("sample");
CloudBlobDirectory dir1;
var items = rootContainer.ListBlobs(id + "/someData/" + somedataid.ToString() + "/", false);

foreach (var blob in items.OfType<CloudBlob>()
    .OrderByDescending(b => b.Properties.LastModified).Skip(1000).Take(500))


 {

}

由于此操作将非常耗时且成本高昂,因此建议您根据需要存储Blob信息,例如BlobName,Blob Url和Last Modified Date等。

通过选择,您可以对其执行任何操作。

希望有帮助。