Хранилище BLOB-объектов Azure - копирование заархивированного большого двоичного объекта на онлайн-уровень - PullRequest
1 голос
/ 11 октября 2019

Я пытаюсь скопировать большой двоичный объект, заархивированный на онлайн-уровне. Для этого я использую версию 8.4.0 API (с августа 2019 г.) и также пытался использовать CLI.

Однако я всегда получаю эту ошибку: "Эта операция запрещена длязаархивированный большой двоичный объект. "

На этой странице ясно, что Azure позволяет копировать заархивированный большой двоичный объект на онлайн-уровень.

Кто-нибудь знает, как это может бытьсделано в Java?

Я использую единственную из известных мне функций для копирования большого двоичного объекта в Java: destinationBlob.startCopy(sourceBlob);

Спасибо.

1 Ответ

0 голосов
/ 22 октября 2019

На основе в этом официальном документе указано:

Копирование архива BLOB (версия 2018-11-09 и новее)

Anзаархивированный большой двоичный объект может быть скопирован в новый большой двоичный объект в той же учетной записи хранения. Это по-прежнему оставит изначально заархивированный BLOB-объект как есть. При копировании заархивированного большого двоичного объекта в качестве источника запрос должен содержать заголовок x-ms-access-tier, указывающий уровень целевого большого двоичного объекта. В конечном итоге данные будут скопированы в целевой BLOB-объект.

Только версия API после 2018-11-09 будет поддерживать копирование заархивированных больших двоичных объектов. Как вы упомянули, вы используете Azure Storage Java SDK V8 , который был перемещен и прекратил обновление в 2018-9-24. Я предполагаю, что причина, по которой вы получили эту ошибку.

В любом случае, вы можете следовать официальному документу и использовать REST API для копирования архивных файлов.

...