将存储数据从一个Azure帐户复制到另一个

前端之家收集整理的这篇文章主要介绍了将存储数据从一个Azure帐户复制到另一个前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我想将一个非常大的存储容器从一个Azure存储帐户复制到另一个(也恰好在另一个订阅中)。

我想就以下选项发表意见:

>编写一个可以使用CloudBlob的DownloadToStream()和UploadFromStream()一次连接到存储帐户并复制一个Blob的工具。这似乎是最糟糕的选择,因为在传输数据时会产生成本,并且相当慢,因为数据必须归结到运行该工具的机器,然后重新上传回Azure。
>写一个工作人员的角色来做同样的事情 – 理论上讲这应该更快,而且不会产生任何代价。但是,这是更多的工作。
>将工具上传到一个绕过工作角色部署的正在运行的实例,并且在实例被回收/重置之前,祈祷工具完成。
>使用现有工具 – 没有发现任何有趣的东西。

有什么建议的方法

更新:我刚刚发现,对于2012年7月7日或之后创建的所有存储帐户,终于已经介绍了此功能(仅适用于REST API)

http://msdn.microsoft.com/en-us/library/windowsazure/dd894037.aspx

由于没有直接方法将数据从一个存储帐户迁移到另一个存储帐户,您需要执行像您正在想的那样。如果这是在同一个数据中心内,则选项#2是最好的选择,并且将是最快的(尤其是使用XL实例,给您更多的网络带宽)。

就复杂性而言,在一个worker角色中创建这个代码比在本地应用程序上创建这个代码并不难。只需从您的工作角色的Run()方法运行此代码

为了使事情更加健壮,您可以列出容器中的Blob,然后将特定的文件移动请求消息放入Azure队列中(并通过每个消息放置多个对象名称进行优化)。然后使用工作者角色线程从队列中读取并处理对象。即使你的角色被回收,最糟糕的是你会重新处理一个消息。为了提高性能,您可以扩展到多个worker角色实例。传输完成后,您只需拆卸部署。

更新 – 2012年6月12日,Windows Azure Storage API已更新,现在允许跨帐户blob副本。详见this blog post

原文链接:https://www.f2er.com/windows/373165.html

猜你在找的Windows相关文章