Я пытаюсь скопировать файл из 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, обязательный для этого запроса, не указан.