如何在.Net的Azure存储数据移动库中设置Blob层



从文件共享复制到blob存储时,是否有方法设置目标blob的层?AzCopy在后台使用Azure Storage Data Movement Library for.Net,具有--阻止blob层选项。所以,我认为这可能是可能的实现使用图书馆。

Azure存储数据移动库仍然不支持具有blob层的复制blob。您想在中打开问题吗https://github.com/Azure/azure-storage-net-data-movement/issues以跟踪功能请求?

你能像DMlib复制命令一样分享你的场景吗?

作为一种变通方法,您可以设置blob层,它们是用DMlib上传的吗?

DMLib(数据移动库(还不支持设置blob层。关于"从文件共享复制到Blob存储",您是否使用下面介绍的服务端异步复制?

https://github.com/Azure/azure-storage-net-data-movement#choose-复制法https://learn.microsoft.com/en-us/dotnet/api/microsoft.azure.storage.datamovement.copymethod?view=azure-dotnet

如前所述,DMLib不支持设置从文件存储复制到blob存储的blob层。作为一种解决方法,我使用以下代码片段和NuGet包直接从文件共享复制到blob存储。

  1. Azure.Storage.Files.Shares
  2. Azure.Storage.Blobs

    ShareFileClient shareFileClient = GetFile(); // get the ShareFileClient
    var blobClient = new BlobServiceClient(blobConnectionString);
    var container = blobClient.GetBlobContainerClient(blobContainerName);
    var destBlob = container.GetBlobClient(shareFile.Path); // set the path of the destination blob
    await destBlob.StartCopyFromUriAsync(shareFile.Uri, accessTier: accessTier);
    

我从微软的文档中得到了这个想法,但代码使用的是旧版本的FileShare SDK。我的代码使用最新版本。

最新更新