我想将一个非常大的存储容器从一个 Azure 存储帐户复制到另一个(恰好位于另一个订阅中)。
我想了解以下选项的意见:
编写一个工具,可以连接到两个存储帐户并使用 CloudBlob 的 DownloadToStream() 和 UploadFromStream() 一次复制一个 Blob。这似乎是最糟糕的选择,因为它在传输数据时会产生成本,而且速度也很慢,因为数据必须传输到运行该工具的计算机,然后重新上传回 Azure。
<编写一个辅助角色来执行相同的操作 - 理论上这应该更快并且不会产生任何成本。然而,这需要更多的工作。
绕过辅助角色部署将该工具上传到正在运行的实例,并祈祷该工具在实例回收/重置之前完成。
使用现有工具 - 没有发现任何有趣的东西。
对此方法有什么建议吗?
更新:我刚刚发现此功能终于针对 2012 年 7 月 7 日或之后创建的所有存储帐户引入了(目前仅限 REST API):
http://msdn.microsoft.com/en-us/library/windowsazure/dd894037.aspx
最佳答案
您还可以使用 Azure SDK 中的 AzCopy。
只需单击 Windows Azure SDK 的下载按钮并从列表中选择 WindowsAzureStorageTools.msi
以下载 AzCopy。
安装后,您将在此处找到 AzCopy.exe
:%PROGRAMFILES(X86)%\Microsoft SDKs\Windows Azure\AzCopy
您可以在此博文中获取有关使用 AzCopy 的更多信息:AzCopy – Using Cross Account Copy Blob
此外,您还可以通过远程桌面进入实例并使用此实用程序进行传输。
更新:
您还可以使用 Microsoft Azure 存储资源管理器在存储帐户之间复制 Blob 数据。引用link
关于azure - 将存储数据从一个 Azure 帐户复制到另一个 Azure 帐户,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8582145/