Скопируйте файл из BLOB-объекта Azure в файловую систему ADLS с помощью библиотеки DataMovement - PullRequest
0 голосов
/ 04 июня 2019

Я пытаюсь скопировать файл из BLOB-объекта Azure в файловую систему Azure (Gen 2), используя библиотеку перемещения данных, но получаю ошибку ниже.

Код C #

var sourceUri = "https://[storage account name].blob.core.windows.net/container/sourcefolder/sourcefile.pdf"

     var sourceBlobFile = await CloudBlobContainer.ServiceClient.GetBlobReferenceFromServerAsync(sourceUri);

    var destFileSystemFile = new CloudFile(destinationUri, CloudBlobContainer.ServiceClient.Credentials);

    TransferManager.CopyAsync(sourceBlobFile, destFileSystemFile , true);

Ошибка

Сообщение: Microsoft.Azure.Storage.DataMovement.TransferException: сбой передачи.

Microsoft.Azure.Storage.StorageException: HTTPзаголовок, обязательный для этого запроса, не указан.

Трассировка стека ошибок

в Microsoft.Azure.Storage.DataMovement.TransferScheduler.ExecuteJobInternalAsync (Задание TransferJob, CancellationToken cancellationToken) в C: \ Local \ Jenkins \ jobs \ DMLib_0.11.0 \ workspace \ lib \ TransferScheduler.cs: строка 238 в Microsoft.Azure.Storage.DataMovement.SingleObjectTransfer.ExecuteAsync (планировщик TransferScheduler в CancellationTokenen, отменяющий перенос)C: \ Local \ Jenkins \ jobs \ DMLib_0.11.0 \ workspace \ lib \ TransferJobs \ SingleObjectTransfer.cs: строка 198 в Microsoft.Azure.Storage.DataMovement.TransferManager.DoTransfer (Transfer Transfer, TransferContext TransferContext, CancellationToken cancellationToken) в C: \ Local \ Jenkins \ jobs \ DMLib_0.11.0 \ workspace \ lib \ TransferManager.cs: строка 1322 в FileCopy.cs: строка 39 --- Конец стекатрассировка от предыдущего местоположения, где было сгенерировано исключение --- в FileCopyTests.cs: строка 60 --- Конец трассировки стека от предыдущего местоположения, где было сгенерировано исключение --- ----- внутренняя трассировка стека ----- в Microsoft.Azure.Локальные \ Jenkins \ jobs \ DMLib_0.11.0 \ workspace \ lib \ TransferControllers \ AsyncCopyControllers \ AsyncCopyController.cs: строка 473 в Microsoft.Azure.Storage.DataMovement.TransferControllers.AsyncCopyController.DoWorkInternalAsync \ Jenns (в): (в)DMLib_0.11.0 \ рабочее пространство \ Lib \ TransferControllers \ AsyncCopyControllers \ AsyncCopyController.cs: строка 203 в Microsoft.Azure.Storage.DataMovement.TransferControllers.TransferControllerBase.DoWorkAsync () в C: \ Local \ Jenkins \ jobs \ DMLib_0.11.0 \ workspace \ lib \ TransferControllers \ TransferControlaseB 175.в Microsoft.Azure.Storage.DataMovement.TransferScheduler.ExecuteJobInternalAsync (задание TransferJob, CancellationToken cancellationToken) в C: \ Local \ Jenkins \ jobs \ DMLib_0.11.0 \ workspace \ lib \ TransferScheduler.cs: строка 225 Сообщение о результате:
Microsoft.Azure.Storage.DataMovement.TransferException: передача не удалась.---- Microsoft.Azure.Storage.StorageException: заголовок HTTP, обязательный для этого запроса, не указан.

1 Ответ

0 голосов
/ 05 июня 2019

Я обнаружил, что текущая версия библиотеки перемещения данных не поддерживает ADLS Gen 2. По этой причине она выдает ошибку.

У меня нет официальной ссылки

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