как перечислить только имена больших двоичных объектов в хранилище больших двоичных объектов Azure

#c# #azure #azure-blob-storage

#c# #azure #azure-blob-storage

Вопрос:

Мне нужен самый быстрый способ перечислить все имена больших двоичных объектов в контейнере. Контейнер содержит около 600 тысяч больших двоичных объектов. Теперь я перечисляю это следующим образом:

while(true) {
... 
 var blobChank = azureClient .Список объектов (null, true, BlobListingDetails.None, null, null).Пропустить (счетчик * chankSize).Возьмите (chankSize).ToList();
если(blobChank.Количество == 0) разрыв;
 счетчик   ;
...
/// получение имен больших двоичных объектов

Ответ №1:

Вы можете получить доступ к свойствам больших двоичных объектов, чтобы получить имя:

 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 .Выберите(b => (b как CloudBlockBlob).Name);

а для ускорения итерации вы можете загружать большие двоичные объекты локально, см. Здесь : http://gallery.technet.microsoft.com/scriptcenter/all-Blobs-with-Snapshots-3b184a79