Загрузите только первые несколько байтов Azure BLOB-объектов - PullRequest
0 голосов
/ 31 января 2020

Мне нужно найти много миллионов файлов JPEG, хранящихся в Azure Blob Storage, чтобы найти поврежденные. Это определенный c тип повреждения, когда все байты в файле равны 0. Я должен быть в состоянии определить, поврежден ли файл, проверив заголовок, который находится в первых нескольких байтах файла. Я не хочу загружать весь файл, так как это будет стоить денег и времени.

Я использую Microsoft. Azure .Storage.Blob, v 11.1.2 Пакет NuGet и видел несколько методов, которые выглядели многообещающими, такие как CloudBlockBlob.DownloadToByteArrayAsync и CloudBlockBlob.DownloadToStreamAsync, но, похоже, он загружал весь файл (ну, DownloadToByteArrayAsync выдал исключение, потому что я надеялся, что смогу дать ему небольшой массив).

Любая помощь приветствуется.

1 Ответ

1 голос
/ 31 января 2020

См. DownloadRangeToStreamAsyn c и DownloadRangeToByteArrayAsyn c. «Диапазон» является ключевым термином здесь, поскольку он относится к заголовку HTTP Range, который широко охватывает понятие только загрузки части ресурса. См. здесь о том, как SDK работает под капотом с Blob REST API.

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