Хранилище Azure: используйте AzCopy.exe для копирования папки из хранилища BLOB-объектов в другую учетную запись хранения.

Используя AzCopy.exe, я могу успешно скопировать весь контейнер. Однако я не могу понять, как скопировать большой двоичный объект, имя которого включает структуру папок. Я пробовал следующее:

.\AzCopy.exe /Source:https://sourceaccount.blob.core.windows.net/container /Dest:https://destaccount.blob.core.windows.net/container /SourceKey:sourceKey== /DestKey:destKey== /S /Pattern:CorruptZips/2013/6

Также изменив / Pattern: на такие вещи, как:

  • / Шаблон: CorruptZips / 2013/6 / *
  • / Выкройка: CorruptZips / 2013/6 /.
  • / Шаблон: CorruptZips / 2013/6 /

И все просто говорит о том, что копируется ноль записей. Можно ли это сделать или просто для копирования контейнера / файла? Спасибо.


person naspinski    schedule 21.07.2016    source источник
comment
Косые черты в шаблоне имени большого двоичного объекта, вероятно, интерпретируются как дополнительные параметры. Попробуйте заключить значение параметра в кавычки. / Шаблон: CorruptZips / 2013/6 / *.   -  person Rick Rainey    schedule 21.07.2016


Ответы (3)


@naspinski, есть еще один инструмент под названием Azure Data Factory, который может помочь скопировать папку из учетной записи хранения BLOB-объектов в другую. См. Статью Перемещение данных в и из Azure Blob с помощью фабрики данных Azure, чтобы узнать об этом и выполнить следующие действия.

  1. Создайте фабрику данных в Azure портал.
  2. Нажмите кнопку Copy Data, как показано ниже, чтобы перейти к интерфейсу powercopytool, и следуйте советам по копированию папки шаг за шагом.

введите здесь описание изображения

введите здесь описание изображения

person Peter Pan    schedule 25.07.2016

Мне потребовалось несколько попыток, чтобы получить это. Вот ключ:

Если указанный источник является контейнером больших двоичных объектов или виртуальным каталогом, то символы подстановки не применяются.

Другими словами, вы не можете копировать файлы с подстановочными знаками, вложенные в структуру папок в контейнере. У вас есть два варианта:

  • Используйте / S БЕЗ шаблона для рекурсивного копирования всего
  • Используйте / S и укажите в шаблоне полный путь к файлу без подстановочного знака.

Пример:

C:\Users\myuser>azcopy /Source:https://source.blob.core.windows.net/system /Dest:https://dest.blob.core.windows.net/system /SourceKey:abc /DestKey:xyz /S /V /Pattern:"Microsoft.Compute/Images/vmimage/myimage.vhd"

РЕДАКТИРОВАТЬ: Ой, мой ответ был сформулирован неправильно!

person Nick Schroeder    schedule 27.10.2016

Укажите команду без / S:

AzCopy / Источник: https://myaccount.blob.core.windows.net/mycontainer1 / Dest: https://myaccount.blob.core.windows.net/mycontainer2 / SourceKey: ключ / DestKey: ключ /Pattern:abc.txt

Информацию можно найти в разделе «Копировать отдельный большой двоичный объект в учетную запись хранилища» на странице http://aka.ms/azcopy.

person Zhaoxing Lu    schedule 22.07.2016
comment
Я читал документацию много раз, она не очень полезна для шаблонов, особенно папок и / или подстановочных знаков. Кроме того, как уже говорилось, я не пытаюсь скопировать отдельный BLOB-объект, я пытаюсь скопировать каталог. - person naspinski; 22.07.2016
comment
удаление / S не повлияло - person naspinski; 22.07.2016
comment
Ваша папка CorruptZips / 2013/6 в контейнере BLOB-объектов такая же, как и container / CorruptZips / 2013/6? Если это так, это должно сработать: / S / Pattern: CorruptZips / 2013/6. Вы можете обратиться к части / Pattern: файл-шаблон в aka.ms/azcopy. - person Zhaoxing Lu; 23.07.2016
comment
Если указанный источник является контейнером больших двоичных объектов или виртуальным каталогом, то символы подстановки не применяются. Если указан параметр / S, то AzCopy интерпретирует указанный шаблон файла как префикс большого двоичного объекта. Если параметр / S не указан, то AzCopy сопоставляет шаблон файла с точными именами больших двоичных объектов. - person Zhaoxing Lu; 23.07.2016