Как избежать нехватки памяти в C # Azure API для загрузки больших двоичных объектов? - PullRequest
0 голосов
/ 28 декабря 2018

Я пытаюсь загрузить очень большие (> 100 ГБ) большие двоичные объекты в Azure с помощью Microsoft.Azure.Storage.Blob (9.4.2).Однако, похоже, что даже при использовании API потоковой записи BLOB-объектов библиотека будет выделять память, пропорциональную размеру файла (тестовый файл объемом 1,2 ГБ приводит к использованию памяти процесса объемом 2 ГБ).Мне нужно, чтобы это работало в постоянной памяти.Мой код ниже (аналогичные результаты с использованием UploadFromFile, UploadFromStream и т.вещи в ожидании отправки;нет причин, по которым он должен зависеть от ранее отправленных данных.Как кто-нибудь использует этот API для нетривиальных загрузок BLOB-объектов?

1 Ответ

0 голосов
/ 31 декабря 2018

Я предлагаю вам взглянуть на образец BlobStorageMultipartStreamProvider , так как он показывает, как поток запросов может быть "перенаправлен" в поток Azure Blob , что может уменьшить объем памяти.используется на стороне сервера при загрузке.

Надеюсь, это поможет!

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