簡體   English   中英

如何僅枚舉Azure Blob存儲中的Blob名稱

[英]how to enumerate only blob names in azure blob storage

我需要一種最快的方法來枚舉容器中的所有blob名稱。 容器中包含約60萬個斑點。 現在,我列舉如下:

while(true) {
...         
 var blobChank = azureClient.ListBlobs(null, true, BlobListingDetails.None, null, null).Skip(counter * chankSize).Take(chankSize).ToList();
 if(blobChank.Count == 0) break;
 counter++;
...
///retrieve blob names

您可以訪問BlobProperties以獲取名稱:

var blobChank = ... ;
foreach (object o in blobChank)
{
    BlobProperties bp = o as BlobProperties;
    if (bp != null)
    {
        BlobProperties p = _Container.GetBlobProperties(bp.Name);
        var name = p.Name; // get the name
    }
}

或通過Linq:

列出blobNames = blobChank .Select(b =>(b為CloudBlockBlob).Name);

有關迭代的速度,您可以在本地下載blob,請參見此處: http : //gallery.technet.microsoft.com/scriptcenter/all-Blobs-with-Snapshots-3b184a79

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM