【问题标题】:How to download multiple files in a single request from Azure Blob Storage using c#?如何使用 c# 从 Azure Blob 存储的单个请求中下载多个文件?
【发布时间】:2020-03-31 21:02:50
【问题描述】:

我需要从我的 Azure Blob 存储中下载 1000 个小图像。我不想为每个文件单独请求。如何在 c# 中做到这一点?

现在我正在使用Azure.Storage.BlobsAzure.Storage.Blobs.Batch,但它们都没有这个API。后者在发布此问题时只有DeleteBlobs 电话。

【问题讨论】:

    标签: c# azure api azure-blob-storage


    【解决方案1】:

    我需要从我的 Azure Blob 存储中下载 1000 个小图像。我 不想为每个文件单独请求。如何做到这一点 c#?

    很遗憾,Azure Blob 存储中没有可用的批量下载功能。您将需要单独下载每个 blob。您可以做的是并行下载 blob 以加快速度。

    【讨论】:

      【解决方案2】:

      您可以通过并行下载来加快下载速度。

      var semaphore = new SemaphoreSlim(100);
      List<Task> downloadTasks = new List<Task>();
      foreach (var fileName in fileNames)
      {
          await semaphore.WaitAsync();
          downloadTasks.Add(Task.Run(async () =>
          {
              // here download the file
              semaphore.Release();
          }));
      }
      await Task.WhenAll(downloadTasks);
      

      【讨论】:

      • 听取了您对此的建议。灌篮高手。谢谢!
      猜你喜欢
      • 2021-08-11
      • 1970-01-01
      • 2018-04-25
      • 1970-01-01
      • 2015-06-20
      • 2013-01-21
      • 2021-12-08
      相关资源
      最近更新 更多