处理azure blob并通过ASP.NET下载它们

时间:2015-05-03 22:05:24

标签: c# asp.net azure azure-storage-blobs

我在Azure Web App(标准层S1)上运行一个网站,您可以从不同格式(xml,json)的blob存储中下载文件。

我将这些文件(html,text,images as base64 string)作为块blob插入到容器中。 现在我正在下载所有blob并将结果转换为所需的格式,压缩它并在我的ASP.NET网站上提供下载。

我在这里看到一个问题,整个下载和zip进程在Web应用程序内部运行,这可能需要一段时间,并且当我下载,转换和压缩大量文件时也会达到内存限制(S1上为1.75 GB)。我期望每个容器超过100.000个文件,最终容器大小为10 GB。

以特定格式(xml,json)下载整个容器的最佳方法是什么?拉链也是如此?

我发现可能有帮助的解决方案是:

由于

1 个答案:

答案 0 :(得分:0)

根据您尝试向客户提供的体验,一个非常简单的解决方案可以绕过Web应用程序进行任何处理或压缩的需求,即为每个客户创建一个容器,然后只需为它们提供一个SAS令牌即可只读访问该容器(请参阅here),然后让他们使用AzCopy等工具(请参阅here)下载文件。这完全绕过了压缩文件等的需要 - 虽然它可能不是最好的用户体验。