我正在尝试使用数据移动库将文件从Azure Blob复制到Azure文件系统(第二代),但出现错误。
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 cancelToken) C:\ Local \ Jenkins \ jobs \ DMLib_0.11.0 \ workspace \ lib \ TransferScheduler.cs:line 238点 Microsoft.Azure.Storage.DataMovement.SingleObjectTransfer.ExecuteAsync(TransferScheduler 调度程序,CancellationToken cancelToken) C:\ Local \ Jenkins \ jobs \ DMLib_0.11.0 \ workspace \ lib \ TransferJobs \ SingleObjectTransfer.cs:line 198点 Microsoft.Azure.Storage.DataMovement.TransferManager.DoTransfer(传输 transfer,TransferContext transferContext,CancellationToken cancelToken)在 C:\ Local \ Jenkins \ jobs \ DMLib_0.11.0 \ workspace \ lib \ TransferManager.cs:line 1322在FileCopy.cs:第39行 ---从先前抛出异常的位置开始的堆栈跟踪---在FileCopyTests.cs:line 60 ---从之前引发异常的位置开始的堆栈结束跟踪--- -----内部堆栈跟踪-----在Microsoft.Azure.Storage.Core.Executor.Executor.ExecuteAsync [T](RESTCommand`1 cmd,IRetryPolicy策略,OperationContext operationContext, CancellationToken令牌)位于 Microsoft.Azure.Storage.DataMovement.TransferControllers.AsyncCopyController.StartCopyAsync() 在 C:\ Local \ Jenkins \ jobs \ DMLib_0.11.0 \ workspace \ lib \ TransferControllers \ AsyncCopyControllers \ AsyncCopyController.cs:line 在473 Microsoft.Azure.Storage.DataMovement.TransferControllers.AsyncCopyController.DoWorkInternalAsync() 在 C:\ Local \ Jenkins \ jobs \ DMLib_0.11.0 \ workspace \ lib \ TransferControllers \ AsyncCopyControllers \ AsyncCopyController.cs:line 203点 Microsoft.Azure.Storage.DataMovement.TransferControllers.TransferControllerBase.DoWorkAsync() 在 C:\ Local \ Jenkins \ jobs \ DMLib_0.11.0 \ workspace \ lib \ TransferControllers \ TransferControllerBase.cs:line 175点 Microsoft.Azure.Storage.DataMovement.TransferScheduler.ExecuteJobInternalAsync(TransferJob 作业,CancellationToken cancelToken) C:\ Local \ Jenkins \ jobs \ DMLib_0.11.0 \ workspace \ lib \ TransferScheduler.cs:line 225结果消息:
Microsoft.Azure.Storage.DataMovement.TransferException:传输 失败了 ---- Microsoft.Azure.Storage.StorageException:未指定此请求必需的HTTP标头。
答案 0 :(得分:0)
我发现当前版本的数据移动库不支持ADLS Gen2。这就是抛出错误的原因。
我没有任何官方链接