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


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

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

Примечание.

AzCopy V10 — это текущая поддерживаемая версия AzCopy. Средство не поддерживается в версиях Windows, Linux или macOS, которые больше не поддерживаются официально.

Если вам нужно использовать предыдущую версию 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 или с помощью маркера Общего Условного Доступа (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.