java - 如何使用 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() 现在不起作用。
解决方案
SO中有类似的讨论,您可以参考建议并让我知道状态附加信息:您是否检查过 Azcopy工具,这是移动/复制数据的最佳工具之一
我看到您在问答论坛中发布了类似的查询
推荐阅读
- python - sympy 用符号替换子表达式
- django - 我正在开发一个地理定位 django 应用程序,但在 postgis 中出现错误。请告诉我我做错了什么
- javascript - (Mongo/Mongoose) 如何处理等待多个查询的结果
- java - 如何检查给定的小时和分钟(int)是否落在或等于给定时间范围内的任何范围内?
- php - 通过 mysqli_fetch_array 来回浏览
- c - 如何处理整数中的小数?CS50 卢恩算法
- python - Python NCBIWWW(悬挂负载)
- swift - Swift 5 - 使用 vCardURL 共享位置
- python - Python 类继承。如何从另一个类中的函数中获取字符串?
- python - 将 csv 读入 sql 数据库时,我需要将名称列拆分为名字、中间名(如果可用)和姓氏列