Azure将blob容器复制到另一个具有不同层的blob容器中[java]

时间:2020-04-24 17:22:37

标签: java azure azure-storage-blobs azure-blob-storage azure-java-sdk

使用Java API将一个容器的Blob复制到另一个容器的最佳方法是什么? 我知道我可以列出容器,然后对列出的每个Blob执行复制,但是当我要将整个容器从 ARCHIVE 层复制到 HOT 层时,可以最多需要15个小时。那么,在考虑可靠性和容错性的同时,在层之间(归档-> hot |冷)复制容器的最佳选择是什么?

注意:我不想给容器补水,我只想把它留在原处,只创建它的副本进行处理。我发现azure-storage-blob-batch可以更改所有Blob的层,但没有副本。

我缺少将容器复制到azure java SDK中另一个具有进度监视功能的容器的概念。

谢谢

1 个答案:

答案 0 :(得分:1)

我认为方法是使用Azure Rest API。您可以看一下这份文件:

https://docs.microsoft.com/en-us/rest/api/storageservices/copy-blob-from-url

在Azure上执行的所有操作本质上都是由客户端发送并由服务器处理的请求。

您可以根据上述文档使用java编写put请求,从而实现您的想法。

当然,诸如copyblob之类的操作应该能够从下面的链接中找到API,您可以查看以下文档:(查找与blobclient相关的文件)

https://azuresdkdocs.blob.core.windows.net/$web/java/azure-storage-blob/12.0.0/index.html