我正在设计一个应用程序,该应用程序将支持上传和下载限制为2 GB的XML文件。我使用 Azure Blob 存储作为持久性存储来上传这些文件,然后下载它们。下面的一段代码抛出了内存不足异常:
var blob = this.GetBlockBlobReference(blobId, blobContainerName);
return await blob.DownloadTextAsync().ConfigureAwait(false);
另外,我不确定哪种方法会更快,更干净。
为了更快地下载/上传 blob,可以考虑使用 Microsoft Azure 存储数据移动库。此库专为高性能上传、下载和复制 Azure 存储 Blob 和文件而设计。
您可以通过以下代码设置并行线程:
// Setup the number of the concurrent operations
TransferManager.Configurations.ParallelOperations = 64;
然后分别使用TransferManager.UploadAsync
或TransferManager.DownloadAsync
方法上传/下载 Blob。
github中有一个上传的例子,您可以修改它以便轻松下载。