我希望能够列出容器中最古老的5个斑点。
我正在创建一个客户端:
CloudStorageAccount.TryParse(connection, out CloudStorageAccount storageAccount);
var blobClient = storageAccount.CreateCloudBlobClient();
在此步骤中,我需要获取5个最旧的Blob,以便将其复制到其他容器中。
我们如何列出容器中最古老的5个斑点?
答案 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等。
通过选择,您可以对其执行任何操作。
希望有帮助。