摘要
我已经获得了对一个相当古老的网站的支持,该网站在Azure中存储了一堆blob。我想要做的是将我的所有blob从live复制到测试环境,这样我就可以在不影响用户的情况下使用它们。
建筑
该网站是VB webforms和MVC的混合,与Azure blob服务(例如https://x.blob.core.windows.net/LiveBlobs)进行通信。
测试站点镜像实时设置,但它指向同一存储帐户中的不同blob容器(例如https://x.blob.core.windows.net/TestBlobs)
问题
我调查过的事情
我花了很长时间寻找答案,但我发现的内容涉及copying between storage accounts或copying single blobs。
我还发现了AzCopy looks promising,但看起来它会逐个复制文件,所以我担心它会花费很长时间并且花费很多。< / p>
我是Azure的新手,所以请原谅我这是一个愚蠢的问题还是我错过了一些重要的细节。如果您需要,我非常乐意添加任何额外信息。
答案 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不是很多数据。