gpt4 book ai didi

c# - 如何将 Azure CloudFileDirectory 移动到新的父 CloudFileDirectory?

转载 作者:行者123 更新时间:2023-12-03 05:43:33 27 4
gpt4 key购买 nike

我发现了很多关于如何移动 Azure CloudFile 的信息。但我需要移动整个CloudFileDirectory。我真的希望我不必循环遍历目录中的所有文件并一次移动它们。

注意:我们使用的是 Microsoft.WindowsAzure.Storage.File,而不是 Microsoft.Azure.Storage.File
(别问。)

最佳答案

sdk/api中没有这样的方法。

除了循环方法,我能想到的是:

1. Mount the file storage as local drive ,然后使用Directory.Move像本地目录一样操作它方法。

2.另一种方法是使用 Microsoft.Azure.Storage.DataMovement版本0.9.0(注意使用最新版本,即使用Microsoft.Azure.Storage.File,但它是您不选择的版本)。

然后使用CopyDirectoryAsync方法将目录内容复制到另一个目录,但复制完成后,还需要循环删除源目录,因为它不是空目录.

示例代码:

            CloudStorageAccount storageAccount = new CloudStorageAccount(new StorageCredentials("xx", "xxx"), true);
CloudFileClient fileClient = storageAccount.CreateCloudFileClient();
CloudFileShare fileShare = fileClient.GetShareReference("test");
CloudFileDirectory rootDir = fileShare.GetRootDirectoryReference();

CloudFileDirectory sourceDir = rootDir.GetDirectoryReference("t1/t2");
CloudFileDirectory destDir = rootDir.GetDirectoryReference("t1");

CopyDirectoryOptions options = new CopyDirectoryOptions()
{
Recursive = true,
};

TransferManager.CopyDirectoryAsync(sourceDir, destDir, false, options, null).GetAwaiter().GetResult();

//After copy is completed, you also need loop to delete the source directory.
//your code to delete the source directory.

关于c# - 如何将 Azure CloudFileDirectory 移动到新的父 CloudFileDirectory?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56693837/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com