如何克隆blob容器和内容

时间:2016-10-12 14:52:03

标签: azure azure-storage-blobs

摘要
我已经获得了对一个相当古老的网站的支持,该网站在Azure中存储了一堆blob。我想要做的是将我的所有blob从live复制到测试环境,这样我就可以在不影响用户的情况下使用它们。

建筑
该网站是VB webforms和MVC的混合,与Azure blob服务(例如https://x.blob.core.windows.net/LiveBlobs)进行通信。

测试站点镜像实时设置,但它指向同一存储帐户中的不同blob容器(例如https://x.blob.core.windows.net/TestBlobs

问题

  • 我可以将所有blob从live复制到测试而无需下载 他们?他们需要保持相同的名称。
  • 如何计算出这样做的费用?活斑点 存储大约是130GB,但它应该只是在同一个数据中心内复制数据吗?

我调查过的事情
我花了很长时间寻找答案,但我发现的内容涉及copying between storage accountscopying single blobs

我还发现了AzCopy looks promising,但看起来它会逐个复制文件,所以我担心它会花费很长时间并且花费很多。< / p>

我是Azure的新手,所以请原谅我这是一个愚蠢的问题还是我错过了一些重要的细节。如果您需要,我非常乐意添加任何额外信息。

1 个答案:

答案 0 :(得分:3)

  

我可以将所有blob从live复制到测试而无需下载   他们?他们需要保持相同的名称。

是的,你可以。复制blob是asynchronous server-side操作。你只需告诉blob服务blob复制&amp;目的地详细信息,它将为您完成工作。无需先下载并将其上传到目的地。

  

如何计算出这样做的成本?实时blob存储   大约是130GB,但它应该只是复制内的数据   同一个数据中心对吗?

因此,在成本核算时需要考虑以下三点:1)Storage costs,2)transaction costs和3)data egress costs

由于复制的blob将存储在某个地方,因此它们会占用存储空间,并且会产生存储成本。

复制操作将对源blob执行一些读取操作,然后在目标blob上写入操作(以创建它们),因此您将不得不承担交易成本。在每个blob副本的最小值,您可以预期2个事务 - 读取源和写入目标(尽管可能有更多事务)。

如果目标存储帐户与源存储帐户不在同一区域,则会产生数据出口成本。只要两个存储帐户位于同一区域,就不会产生这种情况。

您可以使用Azure Storage Pricing Calculator来了解您需要花多少钱。

  

我也发现AzCopy看起来很有前景,但看起来很像   将逐个复制文件,所以我担心它会最终采取   很长一段时间,花了很多钱。

Blob始终是逐个复制的。跨存储帐户复制始终是异步服务器端操作,因此您无法预测完成复制操作需要多长时间,但根据我的经验,它非常快。如果要控制何时复制blob,则需要先下载它们并上传它们。 AzCopy supports this mode as well

就成本而言,我认为这是一个相对的术语,当你说它会花费很多时。但总的来说Azure存储非常便宜,130 GB不是很多数据。