A bit late, but this PowerShell script will do it ...
#Server side storage copy $SourceStorageAccount = "sourceAccountName" $SourceStorageKey = "sourceAccountAPIKey" $DestStorageAccount = "destinationAccountName" $DestStorageKey = "destinationAccountAPIKey" $SourceStorageContext = New-AzureStorageContext -StorageAccountName $SourceStorageAccount -StorageAccountKey $SourceStorageKey $DestStorageContext = New-AzureStorageContext -StorageAccountName $DestStorageAccount -StorageAccountKey $DestStorageKey $Containers = Get-AzureStorageContainer -Context $SourceStorageContext foreach($Container in $Containers) { $ContainerName = $Container.Name if (!((Get-AzureStorageContainer -Context $DestStorageContext) | Where-Object { $_.Name -eq $ContainerName })) { Write-Output "Creating new container $ContainerName" New-AzureStorageContainer -Name $ContainerName -Permission Off -Context $DestStorageContext -ErrorAction Stop } $Blobs = Get-AzureStorageBlob -Context $SourceStorageContext -Container $ContainerName $BlobCpyAry = @()
Some credits for the script fall into this blog post ...
http://windowsitpro.com/azure/copy-content-one-azure-storage-account-another
... I fixed his code by deleting the unpleasant long dashes , and added code to iterate over the containers, rather than specifying them manually.
source share