ListBlobsSegmentedAsync не возвращает все каталоги BLOB-объектов - PullRequest
0 голосов
/ 15 мая 2018

У меня есть контейнер с иерархической структурой, содержащий около 12 000 больших двоичных объектов.

- level1

   --level21

         --level211

         --level212

   --level22

так что в настоящее время у меня есть два вопроса

  1. Я не вижу ListBlobs, хотя это встречается во многих статьях. Я знаю, что это странно. но компилятор не проходит. https://i.stack.imgur.com/bVnrC.jpg Я использую c # .netcore 1.1 и WindowsAzure.Storage 8.0, поэтому не должно быть проблем с версией.

  2. поэтому я использую ListBlobsSegmentedAsync, например, под уровнем 21 есть 80 подпапок, но этот метод возвращает только 10 из них. await blobs.ListBlobsSegmentedAsync (false, BlobListingDetails.None, 20000, null, null, null);

Ответы [ 2 ]

0 голосов
/ 15 мая 2018

Ожидается, что ListBlobsSegmentedAsync возвращает часть BLOB-объектов, поскольку это именно то, что делает метод (перечисление BLOB-объектов в сегментированном виде, не гарантирует, что все результаты будут возвращены в одном звоните).

Вы можете обратиться к этому сообщению в блоге о том, как получить все результаты с токеном продолжения.

0 голосов
/ 15 мая 2018

На самом деле это проблема версии пакета.Для .Net Core в WindowsAzure.Storage 8.0 нет метода ListBlobs.Обновите пакет до последней версии (9.1.1), и вы увидите его.

Что касается ListBlobsSegmentedAsync, я не могу воспроизвести вашу проблему на моей стороне.Максимум, который вы установили как 20000, имеет предел 5000 по дизайну, вы можете попытаться изменить его, но с моей стороны это не имеет значения.Если вам нужно использовать этот метод, вы можете показать нам более подробную информацию о вашем коде.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...