在 Azure Blob 存储中生成 ZIP 文件

Generating ZIP files in azure blob storage

压缩 AZ blob 存储中存在的大文件并将它们下载到存档文件中给用户的最佳方法是什么 (zip/rar) 使用 azure batch 有帮助吗? 目前我们以传统方式实现此功能,我们读取流生成 zip 文件和 return 结果,但这会占用服务器上的许多资源和用户的时间。 我在询问最佳技术和技术解决方案(使用 Microsoft 技术的首选方式)

有几种方法可以做到这一点 **from azure-batch only point of view**:(对于初始部分,用户代码应该拥有他们用来压缩文件的任何 zip api 但是 一旦它在 blob 中并且用户想要在节点中使用,那么就会有下面提到的选项。)

对于你问题的初始部分,我发现这个可以派上用场:https://microsoft.github.io/AzureTipsAndTricks/blog/tip141.html(但这主要是出于想法的考虑,你会更好地了解+需要相应地设计你的解决方案space)

在下面的选项 1 和 3 中,您需要确保您的用户代码处理解压缩或解压缩 zip 文件。选项 2 是 内置 功能,适用于 *.zip 文件在池和任务级别。

  • 选项 1:您可以将 *rar or *zip 文件添加为 azure batch resource files,然后在开始任务级别解压缩它们,下载资源文件后。

  • 选项 2:如果您有 zip 但没有 rar 文件,则最好选择玩的是这个名为 Azure batch applicaiton package link 的功能:https://docs.microsoft.com/en-us/azure/batch/batch-application-packages

The application packages feature of Azure Batch provides easy management of task applications and their deployment to the compute nodes in your pool. With application packages, you can upload and manage multiple versions of the applications your tasks run, including their supporting files. You can then automatically deploy one or more of these applications to the compute nodes in your pool.

An application package is a .zip file that contains the application binaries and supporting files that are required for your tasks to run the application. Each application package represents a specific version of the application.

  • 关于大小:参考上面文档中bloblink允许的最大值。

  • 选项 3:(不确定这是否适合您的情况)针对您的特定情况的可能性不大,但您也可以将虚拟 blob 安装到驱动器加入池 via mount feature in azure batch and 您需要在启动任务时编写代码或从安装位置解压缩。

希望这对您有所帮助 :)