Начало работы с AzCopy
AzCopy — это служебная программа командной строки, которую можно использовать для копирования больших двоичных объектов или файлов в учетную запись хранения или из нее. С помощью сведений из этой статьи вы сможете скачать AzCopy, подключиться к учетной записи хранения, а затем передать данные.
Примечание.
AzCopy V10 — это текущая поддерживаемая версия AzCopy.
Если вам нужно использовать предыдущую версию AzCopy, см. раздел Использование предыдущей версии AzCopy в этой статье.
Скачивание AzCopy
Сначала скачайте исполняемый файл AzCopy V10 в любой каталог на своем компьютере. AzCopy V10 — это просто исполняемый файл, поэтому установка не требуется.
- Windows, 64-разрядная (zip)
- Windows, 32-разрядная (zip)
- Linux x86-64 (tar)
- Linux ARM64 (tar)
- macOS (zip)
- macOS ARM64 Preview (ZIP)
Эти файлы сжаты в ZIP-файл (Windows и Mac) или TAR-файл (Linux). Сведения о том, как скачать и распаковать TAR файл в Linux, см. в документации по своему дистрибутиву Linux.
Подробные сведения о выпусках AzCopy см. на странице выпуска AzCopy.
Примечание.
Чтобы копировать данные в службу хранилища таблиц Azure и из нее, установите AzCopy версии 7.3.
Запуск AzCopy
Для удобства рекомендуется добавить расположение каталога исполняемого файла AzCopy в системный путь для простоты использования. Таким образом можно ввести команду azcopy
из любого каталога в системе.
Если вы решили не добавлять путь для каталога AzCopy, необходимо будет изменить каталоги на расположение исполняемого файла AzCopy и ввести azcopy
или .\azcopy
в командные строки Windows PowerShell.
Как владельцу учетной записи службы хранилища Azure вам автоматически не назначаются разрешения на доступ к данным. Прежде чем выполнять какие-либо значимые действия с AzCopy, необходимо решить, как вы будете предоставлять учетные данные авторизации для службы хранилища.
Авторизация AzCopy
Вы можете предоставить учетные данные авторизации с помощью идентификатора Microsoft Entra ID или с помощью маркера подписанного URL-адреса (SAS).
Используйте эту таблицу в качестве справочника.
Тип хранилища | Поддерживаемый в настоящее время метод авторизации |
---|---|
Хранилище BLOB-объектов | SAS идентификатора & Microsoft Entra |
Хранилище BLOB-объектов (иерархическое пространство имен) | SAS идентификатора & Microsoft Entra |
Хранилище файлов | Только SAS |
Вариант 1. Использование идентификатора Microsoft Entra
Этот вариант доступен только для хранилища BLOB-объектов. С помощью идентификатора Microsoft Entra можно указать учетные данные один раз, а не добавлять маркер SAS к каждой команде.
Вариант 2. Использование маркера SAS
Маркер SAS можно добавить к каждому URL-адресу источника или назначения, который используется в командах AzCopy.
В этом примере команда рекурсивно копирует данные из локального каталога в контейнер больших двоичных объектов. Вымышленный маркер SAS добавляется в конец URL-адреса контейнера.
azcopy copy "C:\local\path" "https://account.blob.core.windows.net/mycontainer1/?sv=2018-03-28&ss=bjqt&srt=sco&sp=rwddgcup&se=2019-05-01T05:01:17Z&st=2019-04-30T21:01:17Z&spr=https&sig=MGCXiyEzbtttkr3ewJIh2AR8KrghSy1DGM9ovN734bQF4%3D" --recursive=true
Дополнительные сведения о маркерах SAS и их получении см. в разделе Использование подписанных URL-адресов (SAS).
Примечание.
Параметр Требуется безопасная передача данных учетной записи хранения определяет, защищено ли подключение к учетной записи хранения с помощью протокола TLS. Этот флажок устанавливается по умолчанию.
Передача данных
После авторизации удостоверения или получения маркера SAS можно начать передачу данных.
Примеры команд можно найти в следующих статьях.
Служба | Статья |
---|---|
Хранилище BLOB-объектов Azure | Отправка файлов в хранилище BLOB-объектов Azure |
Хранилище BLOB-объектов Azure | Скачивание больших двоичных объектов из Хранилища BLOB-объектов Azure |
Хранилище BLOB-объектов Azure | Копирование больших двоичных объектов между учетными записями хранения Azure |
Хранилище BLOB-объектов Azure | Синхронизация с Хранилищем BLOB-объектов Azure |
Файлы Azure | Перенос данных с помощью AzCopy и хранилища файлов |
Amazon S3 | Копирование данных из Amazon S3 в службу хранилища Azure |
Google Cloud Storage | Копирование данных из Google Cloud Storage в службу хранилища Azure (предварительная версия) |
Хранилище Azure Stack | Передача данных с помощью AzCopy и хранилища Azure Stack |
Получение справки по командам
Чтобы просмотреть список команд, введите azcopy -h
и нажмите клавишу ВВОД.
Чтобы узнать об определенной команде, просто включите имя этой команды (например, azcopy list -h
).
Список команд
В таблице ниже перечислены все команды AzCopy версии 10. Для каждой команды приведена ссылка на соответствующую справочную статью.
Команда | Description |
---|---|
azcopy bench | Запускает тест производительности, отправляя проверочные данные в указанное место назначения или загружая их оттуда. |
azcopy copy | Копирует исходные данные в целевое расположение. |
azcopy doc | Создает документацию для инструмента в формате Markdown. |
azcopy env | Показывает переменные среды, которые могут настраивать поведение AzCopy. |
azcopy jobs | Подкоманды, связанные с управлением заданиями. |
azcopy jobs clean | Удаляет все файлы журналов и планов для всех заданий. |
azcopy jobs list | Отображает сведения обо всех заданиях. |
azcopy jobs remove | Удаляет все файлы, связанные с указанным идентификатором задания. |
azcopy jobs resume | Возобновляет существующее задание с указанным идентификатором задания. |
azcopy jobs show | Выводит подробные сведения для задания с указанным идентификатором. |
azcopy list | Выводит список сущностей в заданном ресурсе. |
azcopy login | Войдите в идентификатор Microsoft Entra для доступа к ресурсам служба хранилища Azure. |
azcopy login status | Выводит список сущностей в заданном ресурсе. |
azcopy logout | Завершает сеанс пользователя и прекращает доступ к ресурсам службы хранилища Azure. |
azcopy make | Отвечает за создание контейнера или общей папки. |
azcopy remove | Удаление BLOB-объектов и файлов из учетной записи службы хранилища Azure. |
azcopy sync | Реплицирует исходное расположение в целевое. |
azcopy set-properties | Измените уровень доступа одного или нескольких BLOB-объектов и замените (перезаписывать) метаданные и теги индекса одного или нескольких BLOB-объектов. |
Примечание.
AzCopy не содержит команд для переименования файлов.
Использование в сценарии
Получение статической ссылки для скачивания
Со временем ссылка для скачивания AzCopy будет указывать на новые версии AzCopy. Если ваш сценарий скачивает AzCopy, он может перестать работать, если в новой версии AzCopy изменятся функции, которые используются в сценарии.
Чтобы избежать этих проблем, получите статическую (неизменную) ссылку на текущую версию AzCopy. Таким образом, ваш сценарий будет при каждом запуске скачивать одну и ту же версию AzCopy.
Для получения ссылки выполните следующую команду:
Операционная система | Get-Help |
---|---|
Linux | curl -s -D- https://aka.ms/downloadazcopy-v10-linux \| grep ^Location |
Windows PowerShell | (Invoke-WebRequest -Uri https://aka.ms/downloadazcopy-v10-windows -MaximumRedirection 0 -ErrorAction SilentlyContinue).headers.location |
PowerShell 6.1+ | (Invoke-WebRequest -Uri https://aka.ms/downloadazcopy-v10-windows -MaximumRedirection 0 -ErrorAction SilentlyContinue -SkipHttpErrorCheck).headers.location |
Примечание.
Для Linux параметр --strip-components=1
в команде tar
удаляет папку верхнего уровня, содержащую имя версии, и вместо этого извлекает двоичный файл непосредственно в текущую папку. Это позволяет изменить версию azcopy
в сценарии, только обновив URL-адрес в wget
.
URL-адрес отображается в выходных данных этой команды. Затем сценарий может скачивать AzCopy с помощью этого URL-адреса.
Linux
wget -O azcopy_v10.tar.gz https://aka.ms/downloadazcopy-v10-linux && tar -xf azcopy_v10.tar.gz --strip-components=1
Windows PowerShell
Invoke-WebRequest -Uri 'https://azcopyvnext.azureedge.net/release20220315/azcopy_windows_amd64_10.14.1.zip' -OutFile 'azcopyv10.zip'
Expand-archive -Path '.\azcopyv10.zip' -Destinationpath '.\'
$AzCopy = (Get-ChildItem -path '.\' -Recurse -File -Filter 'azcopy.exe').FullName
# Invoke AzCopy
& $AzCopy
PowerShell 6.1+
Invoke-WebRequest -Uri 'https://azcopyvnext.azureedge.net/release20220315/azcopy_windows_amd64_10.14.1.zip' -OutFile 'azcopyv10.zip'
$AzCopy = (Expand-archive -Path '.\azcopyv10.zip' -Destinationpath '.\' -PassThru | where-object {$_.Name -eq 'azcopy.exe'}).FullName
# Invoke AzCopy
& $AzCopy
Экранирование специальных символов в маркерах SAS
В пакетных файлах с расширением .cmd
необходимо экранировать символы %
в маркерах SAS. Это можно сделать, добавив дополнительный %
символ рядом с существующими %
символами в строке маркера SAS.
Выполнение сценариев с помощью Jenkins
Если вы планируете использовать Jenkins для выполнения сценариев, убедитесь, что в начале сценария размещена следующая команда.
/usr/bin/keyctl new_session
Использование в Обозревателе службы хранилища Azure
Обозреватель службы хранилища использует AzCopy для выполнения всех своих операций по переносу данных. Вы можете использовать Обозреватель службы хранилища, если вы хотите применить преимущества производительности AzCopy, но вы предпочитаете использовать графический пользовательский интерфейс, а не командную строку для взаимодействия с файлами.
Обозреватель службы хранилища использует ключ учетной записи для выполнения операций, поэтому после входа в Обозреватель службы хранилища вам не потребуется предоставлять дополнительные учетные данные для авторизации.
Настройка, оптимизация и исправление
См. следующие ресурсы:
Использование предыдущей версии (не рекомендуется)
Если вам нужно использовать предыдущую версию AzCopy, см. статьи по одной из следующих ссылок:
Примечание.
Эти версии AzCopy устарели. Корпорация Майкрософт рекомендует использовать AzCopy версии 10.
Следующие шаги
Если у вас возникли вопросы, проблемы или вы просто хотите оставить отзыв, обращайтесь к нам с помощью Страницы GitHub.