public void MoveFiles(AzureFileClient srcAzureClient, AzureFileClient destAzureClient, ShareClient srcShareClient, ShareClient destShareClient, string dirName)
{
if (!destAzureClient.ShareClient.GetDirectoryClient(dirName).Exists())
destAzureClient.ShareClient.GetDirectoryClient(dirName).Create();
var fileItems = GetChildNodes(srcShareClient, dirName);
if (fileItems.Count == 0)
return;
foreach (var item in fileItems)
{
if (item.ShareFileItem.IsDirectory)
{
MoveFiles(srcAzureClient, destAzureClient, srcShareClient, destShareClient, $"{dirName}/{item.ShareFileItem.Name}");
}
else
{
var srcFileClient = srcShareClient.GetDirectoryClient(Path.GetDirectoryName(item.FullPath)).GetFileClient(Path.GetFileName(item.FullPath));
var destFileClient = destShareClient.GetDirectoryClient(Path.GetDirectoryName(item.FullPath)).GetFileClient(Path.GetFileName(item.FullPath));
if (srcFileClient.Exists())
{
destFileClient.StartCopy(srcFileClient.Uri);
}
}
}
}
This code is throwing an error at
destFileClient.StartCopy(srcFileClient.Uri)
saying
sourceCopy is not verified, connection strings are given to both source & destination fileShare object
I am able to copy files from the same account storage.