Создание большого ZIP-файла из файлов, находящихся в хранилище BLOB-объектов в ядре Dotnet.C#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 Создание большого ZIP-файла из файлов, находящихся в хранилище BLOB-объектов в ядре Dotnet.

Сообщение Anonymous »

Мы пытаемся создать zip-архив всех файлов, относящихся к определенной среде (число которых будет составлять 100 из 1000 со средним размером 100 КБ). После архивирования размер zip-файла обычно составляет около 40-50 ГБ, а в исключительных случаях и больше. Эти файлы хранятся в хранилище BLOB-объектов Azure.
Для этого мы создаем конечную точку, чтобы задача могла выполняться в фоновом режиме, поскольку для ее выполнения потребуется время.
Размещенная служба будет иметь максимум 2 ГБ ОЗУ, и такая же память будет использоваться и для файловой системы.
Я попробовал создать конечную точку, которая выполняет следующий поток:
  • Получает количество связанных файлов. в Blob.
  • Перебирает все файлы один за другим.
  • Получает файл из большого двоичного объекта.
    < li>Добавьте или прикрепите загруженный файл в zip-архиве (сохранённом во временной папке).
  • Добавьте метаданные в CSV-файл.
  • Загрузите zip-архив. и CSV-файл в общедоступном BLOB-объекте.
  • Удалите файлы из временной папки.
Как мы можем решить эту задачу, можем ли мы сделать это с помощью потоковой передачи?
У меня есть сомнения в процессе потоковой передачи: если мы создадим zip-файл в BLOB-объекте Azure и динамически добавим файлы, сможет ли он создать файл размером более 2 ГБ?
Я думаю, что при добавлении служба загрузит zip-файл в память. а затем снова загружает его в облако, поэтому создание файла размером более 2 ГБ невозможно. Дайте мне знать, если я ошибаюсь.
С уважением

Подробнее здесь: https://stackoverflow.com/questions/792 ... otnet-core
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «C#»