Пакетное копирование хранилища CLI Azure не работает на Mac Seira

У меня есть команда AzCopy в Windows, которая копирует все капли из учетной записи хранения на локальный сетевой диск и проверяет, чтобы файл еще не существовал перед копированием.

AzCopy /Source:https://storage.blob.core.windows.net/photos /Dest:C:\folder /SourceKey:xxxxxkeyxxxxxxx /S /XO /XN

Эта команда работает отлично. Однако мне нужно настроить этот же процесс на Mac. Я установил инструменты Azure CLI и создал следующую команду пакетного копирования. У меня есть dryrun, пока я тестировал

az storage blob copy start-batch \
--destination-container "/Volumes/Seagate Backup Plus Drive/folder" \
—-source-account-key xxxxkeyxxxx \
—-source-account-name storage \
—-source-uri https://storage.blob.core.windows.net/photos \
--dryrun

Но я получаю следующее сообщение об ошибке

az: error: unrecognized arguments: Backup Plus Drive/New folder 
—-source-account-key xxxxkeyxxxx 
—-source-account-name storage 
—-source-uri https://storage.blob.core.windows.net/photos

Я прочитал здесь, что вы можете используйте AzCopy через Azure CLI. Но когда я попробовал, он сказал, что команда не найдена.

Я полный новичок в Mac и не уверен, что делаю не так. Любая помощь приветствуется.

Этот процесс также должен быть настроен как пакетный процесс, чтобы человек, не являющийся техническим специалистом, мог его запустить. Я еще не рассматривал это, так как хотел сначала получить копию.


person Andrew    schedule 21.12.2017    source источник


Ответы (1)


В вашем сценарии есть две ошибки.

Во-первых, Seagate Backup Plus Drive есть три пробела. При использовании Azure CLi для его замены следует использовать %20. Например:

/Volumes/Seagate%20Backup%20Plus%20Drive

Вы можете проверить это на портале Azure.

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

Во-вторых, —-source-account-key xxxxkeyxxxx это неправильно. Правильный формат - --source-account-key xxxxkeyxxxx. Если присмотреться, —- и -- разные.

Вам также необходимо заменить —-source-account-name storage и —-source-uri https://storage.blob.core.windows.net/photos, это одна и та же ошибка.

person Shui shengbao    schedule 21.12.2017
comment
Большое спасибо @shengbao. Сейчас он работает, но в нем говорится. Запрошенный URI не представляет никаких ресурсов на сервере для --destination-container. Конечный контейнер - это локальный жесткий диск, а не другая учетная запись хранения Azure. Как я могу заставить этот скрипт скопировать на локальный диск? Или я должен сделать это по-другому? - person Andrew; 21.12.2017
comment
@Andrew Эта команда используется для копирования файла между учетной записью хранения. Если вы хотите загрузить файл, вы должны использовать az storage blob upload. - person Shui shengbao; 21.12.2017
comment
Нет, я хочу скачать из Azure - person Andrew; 21.12.2017
comment
Вы можете использовать az storage blob download, см. Этот пример . - person Shui shengbao; 21.12.2017
comment
Давайте продолжим это обсуждение в чате. - person Shui shengbao; 21.12.2017
comment
Приносим извинения за задержку с ответом ..... Большое спасибо за вашу помощь ..... У меня работает следующий код ....... az storage blob download-batch \ --destination // localdrive / photos \ --source storageName.blob.core.windows.net/photos \ --account-key xxxxkeyxxxx \ --account-name имя_хранилища \ - person Andrew; 03.01.2018