首页 > 解决方案 > 如何使用 java 在 Azure Blob 存储中的容器之间移动(或复制)blob

问题描述

我有一个 java 应用程序,用于将一些工件上传到 Azure Blob 存储。现在我正在尝试将这些文件从一个容器移动到另一个容器。下面是我现在所做的示例代码。

BlobServiceClient blobServiceClient = new BlobServiceClientBuilder().connectionString(CONNECTION_STRING).buildClient();
  BlobContainerClient releaseContainer = blobServiceClient.getBlobContainerClient(RELEASE_CONTAINER);
  BlobContainerClient backupContainer = blobServiceClient.getBlobContainerClient(BACKUP_CONTAINER);

  for (BlobItem blobItem : releaseContainer.listBlobs()) {
     BlobClient destBlobClient = backupContainer.getBlobClient(blobItem.getName());
     BlobClient sourceBlobClient = releaseContainer.getBlobClient(blobItem.getName());
     destBlobClient.copyFromUrl(sourceBlobClient.getBlobUrl());
     sourceBlobClient.delete();
  }

有没有更直接的方法来做到这一点?另外,如果这是这样做的方法,我该如何删除旧文件?sourceBlobClient.delete() 现在不起作用。

标签: javaazure-blob-storage

解决方案


SO中有类似的讨论,您可以参考建议并让我知道状态附加信息:您是否检查过 Azcopy工具,这是移动/复制数据的最佳工具之一

我看到您在问答论坛中发布了类似的查询


推荐阅读