#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