从文件共享复制到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存储。
- Azure.Storage.Files.Shares
-
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。我的代码使用最新版本。