我正在尝试将已归档的Blob复制到在线层。为此,我正在使用8.4.0 API版本(从2019年8月开始),并且我还尝试使用CLI。
但是,我总是遇到此错误:“不允许对已归档的Blob执行此操作。”
在此page中,很明显,azure允许将存档的Blob复制到在线层。
任何人都知道如何用Java做到这一点吗?
我正在使用我知道的唯一功能来在Java中复制blob:
destinationBlob.startCopy(sourceBlob);
谢谢。
答案 0 :(得分:0)
以this official doc为基础:
复制存档的Blob(版本2018-11-09及更高版本)
已归档的Blob可以复制到同一存储中的新Blob 帐户。这仍将保留最初存档的Blob。什么时候 将存档的Blob复制为源,请求必须包含标头 x-ms-access-tier,指示目标Blob的层。数据 最终将被复制到目标Blob。
仅2018年11月9日之后的API版本将支持复制存档的Blob。如前所述,您正在使用Azure Storage Java SDK V8,它已移至并在2018-9-24停止更新。我认为您收到此错误的原因。
无论如何,您可以遵循the official doc并使用REST API复制归档文件。