If you ever worked with Windows Azure, you’ve probably stumbled in the bad practice to let the control panel create the storage for you, with an unreadable and forgettable name, and with the worst thing you can do, leaving the storage outside an affinity group, that guarantee low latency between services and storage that should communicate each other.
It is possible with the Windows Azure PowerShell module to copy a storage blob across storage accounts and regions… asynchronously!
For example, you would need to move a virtual machine disk between storage account:
Import-Module Azure Select-AzureSubscription "My Subscription Name" $destContext = New-AzureStorageContext –StorageAccountName "MyStorageAccountName" -StorageAccountKey "MyStorageAccountKey" $blob = Start-AzureStorageBlobCopy -SrcContainer vhds -SrcBlob "xxxx.vhd" -DestContainer vhds -DestBlob "xxxx.vhd" -DestContext $destContext
Then to check the status of the copying, you can execute this command:
$blob | Get-AzureStorageBlobCopyState