Извлеките файл tar.gz из хранилища BLOB-объектов и загрузите извлеченный результат в другое хранилище BLOB-объектов.C#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Гость
 Извлеките файл tar.gz из хранилища BLOB-объектов и загрузите извлеченный результат в другое хранилище BLOB-объектов.

Сообщение Гость »


У меня есть код, который получает файл хранилища больших двоичных объектов и извлекает его. Он работает, когда я тестирую сохранение результата на своем компьютере.
Теперь вместо сохранения файла на локальном компьютере , я хочу загрузить извлеченный результат в другое хранилище BLOB-объектов. Моя задача заключается в том, как я могу извлечь результаты в виде байтов или потока, чтобы их можно было загрузить. Я попробовал это и не получил ошибок, но большой двоичный объект имеет размер 0 байт. Любые советы приветствуются.

Код: Выделить всё

var blobEndPointSrc = "https://storageaccountname.blob.core.windows.net/data-source-raw?etc...";
var blobContainerClientSrc = GetBlobServiceClientSAS(blobEndPointSrc);
var blobClientSrc = blobContainerClientSrc.GetBlobClient("file.tar.gz");
var blobDownloadInfo = blobClientSrc.OpenRead();
using Stream gzipStream = new GZipInputStream(blobDownloadInfo);

// test on local drive and works.
using var tarArchive = TarArchive.CreateInputTarArchive(gzipStream);
tarArchive.ExtractContents(@"D:\file");
Now trying to take the results and upload them to blob storage:

Код: Выделить всё

// using var tarArchive = TarArchive.CreateInputTarArchive(gzipStream);
// tarArchive.ExtractContents(@"D:\file");

var tarBuffer = TarBuffer.CreateInputTarBuffer(gzipStream);
Stream result = new MemoryStream();
TarBuffer.CreateOutputTarBuffer(result);

var blobEndPointDst = = "https://storageaccountname2.blob.core.windows.net/data-source-raw?etc...";
var blobContainerClientDst = GetBlobServiceClientSAS(blobEndPointDst);
var blobClientDst = blobContainerClient1.GetBlobClient("extracted_file");
blobClientDst.Upload(result, true);
All blob code works fine for both upload and download. But the conversion of extract results ended up giving 0 bytes in the uploaded file.
It is also ok if another extracting library is suggested or another solution.


Источник: https://stackoverflow.com/questions/781 ... to-another
Реклама
Ответить Пред. темаСлед. тема

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

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

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

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

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

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