如何使用C#从Azure Blob存储中列出前100个斑点



我正在使用此代码,可以得到结果,但不要认为这是一种正确的方法

CloudBlobDirectory blobDirectory = 
container.GetDirectoryReference(blobDirectoryReference);
IEnumerable<IListBlobItem> blobList =  
blobDirectory.ListBlobs(useFlatBlobListing:true, 
blobListingDetails:BlobListingDetails.Metadata)
.OfType<CloudBlockBlob>()
.OrderByDescending(m=>m.Properties.LastModified).Take(100);

是正确的,它没有获得前100个服务器端。为之

最简单看起来可以像这样:

IEnumerable<IListBlobItem> blobList = container.ListBlobsSegmented(string.Empty, true,
    BlobListingDetails.Metadata, 100, null, null, null).Results
    .OfType<CloudBlockBlob>()
    .OrderByDescending(m => m.Properties.LastModified);

您可以将查询分成较小的琴弦,然后使用BlobContinuationToken进行迭代。查看我在本文中提供的所有选项提供的文档。

然而,不可能对结果服务进行分类。它将仅分类您检索的块和客户端。

相关内容

  • 没有找到相关文章

最新更新