Начало работы с AzCopy
AzCopy — это служебная программа командной строки, которую можно использовать для копирования больших двоичных объектов или файлов в учетную запись хранения или из нее. С помощью сведений из этой статьи вы сможете скачать AzCopy, подключиться к учетной записи хранения, а затем передать данные.
Примечание.
AzCopy V10 — это текущая поддерживаемая версия AzCopy.
Если вам нужно использовать предыдущую версию AzCopy, см. раздел Использование предыдущей версии AzCopy в этой статье.
В этом видео показано, как скачать и запустить служебную программу AzCopy.
Действия в видео также описаны в следующих разделах.
Варианты использования Для AzCopy
AzCopy можно использовать для копирования данных в учетные записи хранения Azure или между ними. Типичные примеры такой ситуации:
- Копирование данных из локального источника в учетную запись хранения Azure
- Копирование данных из учетной записи хранения Azure в локальный источник
- Копирование данных из одной учетной записи хранения в другую учетную запись хранения
Каждый из этих вариантов использования имеет уникальные параметры. Например, AzCopy имеет собственные команды для копирования и синхронизации данных. Это делает AzCopy гибким инструментом, который можно использовать для однократных действий копирования и текущих сценариев синхронизации. AzCopy также позволяет использовать определенные службы хранения, такие как Хранилище BLOB-объектов Azure или Файлы Azure. Это позволяет скопировать данные из большого двоичного объекта в файл, файл в большой двоичный объект, файл в файл и т. д.
Дополнительные сведения об этих сценариях см. в следующих примерах:
- Отправка файлов в хранилище BLOB-объектов Azure с помощью AzCopy
- Скачивание больших двоичных объектов из Хранилище BLOB-объектов Azure с помощью AzCopy
- Копирование больших двоичных объектов между учетными записями хранения Azure с помощью AzCopy
- Синхронизация с хранилищем BLOB-объектов Azure с помощью AzCopy
Примечание.
AzCopy не поддерживает сценарии, в которых источник или назначение активно изменяются во время передачи.
Установка AzCopy в Linux с помощью диспетчера пакетов
Можно установить AzCopy с помощью пакета Linux, размещенного в репозитории программного обеспечения Linux для продуктов Майкрософт.
Скачайте пакет конфигурации репозитория.
Внимание
Обязательно замените дистрибутив и версию соответствующими строками.
curl -sSL -O https://packages.microsoft.com/config/<distribution>/<version>/packages-microsoft-prod.rpm
Установите пакет конфигурации репозитория.
sudo rpm -i packages-microsoft-prod.rpm
Удалите пакет конфигурации репозитория после его установки.
rm packages-microsoft-prod.rpm
Обновите файлы индекса пакета.
sudo dnf update
Установите AzCopy.
sudo dnf install azcopy
Скачивание переносимого двоичного файла AzCopy
В качестве альтернативы установке пакета можно скачать исполняемый файл AzCopy версии 10 в любой каталог на компьютере.
- 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).
Вариант 1. Использование идентификатора Microsoft Entra
С помощью идентификатора 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 можно начать передачу данных.
Примеры команд можно найти в следующих статьях.
Service | Статья |
---|---|
Хранилище 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.