【问题标题】:How to grab all files from Azure Blob and Zip them?如何从 Azure Blob 中获取所有文件并压缩它们?
【发布时间】:2020-12-01 18:00:30
【问题描述】:

我有一个包含许多容器的 Azure Blob。每个容器都有多个文件夹 - 每个文件夹中都有一堆文件。我希望能够抓取所有文件并将它们压缩后返回。我目前一次只能获取一个文件...

public void downloadAllFromBlob(String containerName){
    CloudBlobClient blobClient = this.storageAccount.createCloudBlobClient();
    try{
        CloudBlobContainer container = blobClient.getContainerReference(containerName);
        
        if(container.exists()){
             // I want to grab all the files in the container and zip them
            for(ListBlobItem blobItem: container.listBlobs()){
                   // i'm only able to list/VIEW the blobs, and not go into one and get all the contents
            }
         }

     }catch(){
     }
}

【问题讨论】:

  • 没有任何可用的 API,但您可以使用 az 命令行工具。 docs.microsoft.com/en-us/cli/azure/storage/…
  • @Manish 我能够做到这一点 - 为什么 CLI 工具没有可用的 API?
  • 测试版中有一个 API 可用,称为批处理,但我没有检查它的作用。但您可以使用 CLI 工具创建后台服务。

标签: java azure spring-boot azure-blob-storage


【解决方案1】:

很遗憾,Azure Blob 存储中没有可用的批量检索功能。如上所示,您需要单独下载每个 blob。您可以尝试并行检索 blob 以加快速度。

【讨论】:

  • 我能够使用 Azure CLI 批量下载,就像这里 - docs.microsoft.com/en-us/cli/azure/storage/… 。你会认为会有一些 Azure SDK 功能可以做同样的事情......也许我可以拦截请求并在我的应用程序中使用相同的请求?
猜你喜欢
  • 2020-04-15
  • 1970-01-01
  • 1970-01-01
  • 2021-03-03
  • 1970-01-01
  • 1970-01-01
  • 2021-11-22
  • 1970-01-01
  • 2019-03-23
相关资源
最近更新 更多