Roushan Jha
Roushan Jha

Reputation: 27

Using Azure Automation Account, Copy files from one Fileshare to another Fileshare across Storage

I am trying to copy one file (x) from a fileshare (y) of storage (z), to a fileshare (a) of storage (b).

$StorageAccountName = "z"
$StorageAccessKey = 
"md226fZvTKPKaCd9TxDGPn4mitCPfvBvgzElwoqIgpbf2Pe09GKKfNJlMcK2EXXqRLqOrhBslybaE1Cpz2BcPg=="
$context1=New-AzureStorageContext $StorageAccountName $StorageAccessKey

$DestStorageAccountName = "b"
$DestStorageAccessKey = "xZjU0r5g5fU+/ieAbwc22OmVtFY5BJdQuF8OZsFd7hGHYLzQFGg9ZCpsVnQi5u6Wi/nigb8jdupUGo0YaXBphg=="
$destcontext1=New-AzureStorageContext $DestStorageAccountName $DestStorageAccessKey
$SrcPath = "https://z.file.core.windows.net/y/x"
$SrcShare = "y"
$DestPath = "https://b.file.core.windows.net/a"
$DestShare = "a"
Start-AzureStorageFileCopy -SrcFilePath $SrcPath -SrcShareName $SrcShare -DestShareName $DestShare - 
DestFilePath $DestPath -Context $context1 -DestContext $destcontext1 -Force

It gives me error as below:

Start-AzStorageFileCopy: The given path/prefix 'https:' is not a valid name for a file or directory or does match the requirement for Microsoft Azure File Service REST API.

Thanks in Advance!

Upvotes: 0

Views: 2262

Answers (1)

Gaurav Mantri
Gaurav Mantri

Reputation: 136166

Please change the source and destination paths. In your particular scenario they should represent the path relative to the share.

$StorageAccountName = "z"
$StorageAccessKey = 
"md226fZvTKPKaCd9TxDGPn4mitCPfvBvgzElwoqIgpbf2Pe09GKKfNJlMcK2EXXqRLqOrhBslybaE1Cpz2BcPg=="
$context1=New-AzureStorageContext $StorageAccountName $StorageAccessKey

$DestStorageAccountName = "b"
$DestStorageAccessKey = "xZjU0r5g5fU+/ieAbwc22OmVtFY5BJdQuF8OZsFd7hGHYLzQFGg9ZCpsVnQi5u6Wi/nigb8jdupUGo0YaXBphg=="
$destcontext1=New-AzureStorageContext $DestStorageAccountName $DestStorageAccessKey
$SrcPath = "test.txt" #assuming the name of the source file is "test.txt"
$SrcShare = "y"
$DestPath = "test.txt" #assuming you want to copy the file and keep the same name
$DestShare = "a"
Start-AzureStorageFileCopy -SrcFilePath $SrcPath -SrcShareName $SrcShare -DestShareName $DestShare - 
DestFilePath $DestPath -Context $context1 -DestContext $destcontext1 -Force

From the documentation link:

-SrcFilePath Specifies the path of the source file relative to the source directory or source share.

-DestFilePath Specifies the path of the destination file relative to the destination share.

Upvotes: 2

Related Questions