Поделиться через


Начало работы с AzCopy

AzCopy — это служебная программа командной строки, которую можно использовать для копирования больших двоичных объектов или файлов в учетную запись хранения или из нее. С помощью сведений из этой статьи вы сможете скачать AzCopy, подключиться к учетной записи хранения, а затем передать данные.

Примечание.

AzCopy V10 — это текущая поддерживаемая версия AzCopy.

Если вам нужно использовать предыдущую версию AzCopy, см. раздел Использование предыдущей версии AzCopy в этой статье.

В этом видео показано, как скачать и запустить служебную программу AzCopy.

Действия в видео также описаны в следующих разделах.

Варианты использования Для AzCopy

AzCopy можно использовать для копирования данных в учетные записи хранения Azure или между ними. Типичные примеры такой ситуации:

  • Копирование данных из локального источника в учетную запись хранения Azure
  • Копирование данных из учетной записи хранения Azure в локальный источник
  • Копирование данных из одной учетной записи хранения в другую учетную запись хранения

Каждый из этих вариантов использования имеет уникальные параметры. Например, AzCopy имеет собственные команды для копирования и синхронизации данных. Это делает AzCopy гибким инструментом, который можно использовать для однократных действий копирования и текущих сценариев синхронизации. AzCopy также позволяет использовать определенные службы хранения, такие как Хранилище BLOB-объектов Azure или Файлы Azure. Это позволяет скопировать данные из большого двоичного объекта в файл, файл в большой двоичный объект, файл в файл и т. д.

Дополнительные сведения об этих сценариях см. в следующих примерах:

Примечание.

AzCopy не поддерживает сценарии, в которых источник или назначение активно изменяются во время передачи.

Установка AzCopy в Linux с помощью диспетчера пакетов

Можно установить AzCopy с помощью пакета Linux, размещенного в репозитории программного обеспечения Linux для продуктов Майкрософт.

  1. Скачайте пакет конфигурации репозитория.

    Внимание

    Обязательно замените дистрибутив и версию соответствующими строками.

    curl -sSL -O https://packages.microsoft.com/config/<distribution>/<version>/packages-microsoft-prod.rpm
    
  2. Установите пакет конфигурации репозитория.

    sudo rpm -i packages-microsoft-prod.rpm
    
  3. Удалите пакет конфигурации репозитория после его установки.

    rm packages-microsoft-prod.rpm
    
  4. Обновите файлы индекса пакета.

    sudo dnf update
    
  5. Установите AzCopy.

    sudo dnf install azcopy
    

Скачивание переносимого двоичного файла AzCopy

В качестве альтернативы установке пакета можно скачать исполняемый файл AzCopy версии 10 в любой каталог на компьютере.

Эти файлы сжаты в 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.