将大量数据上传到Azure BlobStorage的最有效方法

问题描述

我们通常需要将大型资产包(1GB +)上传到Azure BlobStorage,以后再从中下载。这些包在存储之前需要压缩。不久前,我们为办公室购买了一台功能强大的PC,您可以将RDP打包到该PC上,以便我们及时压缩这些包。

我们正在考虑重新配置工具,并且此过程现在需要(a)可扩展,以便多个客户可以使用它,(b)防灾 strong>,如果我们的办公室被抢劫,该过程不会被破坏; (c)高效,如果我们有一个解决方案能够得到a和b点,但是速度很慢,没人会使用它

我一直在寻找编写可用于运行zip流程的Azure函数或AWS Lambda,这将解决 a b ,但是这可能会可能要求我们将包上传到存储设备,然后触发将其压缩并传递的功能。但是最初的上传过程需要进行优化,以免我们损失太多速度。

tl; dr

将大型程序包从本地开发环境上传到Azure BlobStorage的最有效方法是什么?

解决方法

可能最简单,最有效的解决方案是使用AzCopy(请参见https://docs.microsoft.com/en-us/azure/storage/common/storage-use-azcopy-v10)。 AzCopy被认为是快速的,它基于CLI,因此您可以手动运行它或编写脚本,并且它是跨平台(Win / Mac / Linux)。对于各种情况,它都有很多选项(请阅读文档),并且可以处理各种身份验证方法。它还具有内置的弹性-它将自动重试失败的上载多达20次(使用其自己的指数补偿逻辑)。

,

这实际上是AZ303中的一个问题。

上传大型资产包(超过1GB)

Data transfer for small datasets with low to moderate network bandwidth

AzCopy或Azure Storage Explorer是Microsoft的免费工具,可让您在Windows,macOS和Linux上使用Azure Storage数据。您可以使用它们从Azure blob存储上载和下载数据。

Data transfer for large datasets with moderate to high network bandwidth

Data transfer for large datasets with low or no network bandwidth

参考: Choose an Azure solution for data transfer