Начало работы с AzCopy
AzCopy — это служебная программа командной строки, которую можно использовать для копирования блобов или файлов в или из учетной записи хранения. С помощью сведений из этой статьи вы сможете скачать AzCopy, подключиться к учетной записи хранения, а затем передать данные.
Примечание.
AzCopy V10 — это текущая поддерживаемая версия AzCopy. Средство не поддерживается в версиях Windows, Linux или macOS, которые больше не поддерживаются официально.
Если вам нужно использовать предыдущую версию AzCopy, см. раздел Использование предыдущей версии AzCopy в этой статье.
В этом видео показано, как скачать и запустить служебную программу AzCopy.
Действия в видео также описаны в следующих разделах.
Варианты использования для AzCopy
AzCopy можно использовать для копирования данных в учетные записи хранения Azure или между ними. Типичные примеры такой ситуации:
- Копирование данных из локального источника в учетную запись хранения Azure
- Копирование данных из учетной записи хранения Azure в локальный источник
- Копирование данных из одной учетной записи хранения в другую учетную запись хранения
Каждый из этих вариантов использования имеет уникальные параметры. Например, AzCopy имеет собственные команды для копирования и синхронизации данных. Это делает AzCopy гибким инструментом, который можно использовать для однократных действий копирования и текущих сценариев синхронизации. AzCopy также позволяет использовать определенные службы хранения, такие как Хранилище BLOB-объектов Azure или Файлы Azure. Это позволяет скопировать данные из большого двоичного объекта в файл, файл в большой двоичный объект, файл в файл и т. д.
Дополнительные сведения об этих сценариях см. в следующих примерах:
- Отправка файлов в хранилище BLOB-объектов Azure с помощью AzCopy
- Скачивание блоков из хранилища блоков 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)
- Windows ARM64 Preview (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 или с помощью маркера Общего Условного Доступа (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 можно начать передачу данных.
Примеры команд можно найти в следующих статьях.
Сервис | Статья |
---|---|
Хранилище BLOB-объектов Azure | Отправка файлов в хранилище BLOB-объектов Azure |
Хранилище BLOB-объектов Azure | Скачивание объектов BLOB из Azure Blob Storage |
Хранилище BLOB-объектов Azure | Копирование blob-объектов между учетными записями Azure Storage |
хранилище 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. Каждая команда связана со справочной статьей.
Приказ | Описание |
---|---|
azcopy bench | Запускает тест производительности, отправляя проверочные данные в указанное место назначения или загружая их оттуда. |
azcopy copy | Копирует исходные данные в пункт назначения. |
azcopy doc | Создает документацию для инструмента в формате Markdown. |
azcopy env | Показывает переменные среды, которые могут настраивать поведение AzCopy. |
azcopy jobs | Подкоманды, связанные с управлением заданиями. |
azcopy jobs clean | Удалите все файлы журналов и планов для всех заданий. |
azcopy jobs list | Отображает информацию обо всех работах. |
удалить задания azcopy | Удаляет все файлы, связанные с указанным идентификатором задания. |
azcopy jobs resume | Возобновляет существующее задание с указанным идентификатором задания. |
azcopy jobs show | Показывает подробные сведения для задания с указанным идентификатором. |
azcopy list | Выводит список сущностей в заданном ресурсе. |
azcopy login | Выполняется вход в Microsoft Entra ID для доступа к ресурсам хранилища 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.
Примечание.
Статическая ссылка на двоичные файлы AzCopy может изменяться со временем из-за нашей инфраструктуры доставки контента. Если вы должны использовать определенную версию AzCopy по какой-либо причине, рекомендуется использовать AzCopy с операционной системой, которая использует опубликованный пакет. Этот метод обеспечивает надежную установку и обслуживание требуемой версии AzCopy.
Для получения ссылки выполните следующую команду:
Операционная система | Команда |
---|---|
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 <URL from the previous command> -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 <URL from the previous command> -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.