Руководство по переносу локальных данных в облачное хранилище с помощью AzCopy

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

В этом руководстве описано следующее:

  • Создание учетной записи хранения.
  • использование AzCopy для отправки всех данных;
  • изменение данных для целей тестирования;
  • создание запланированных заданий или задач cron для поиска новых файлов для отправки.

Если у вас нет подписки Azure, создайте бесплатную учетную запись, прежде чем приступить к работе.

Необходимые компоненты

Чтобы выполнить инструкции из этого руководства, скачайте последнюю версию AzCopy. См. подробнее о начале работы с AzCopy.

Если вы работаете в Windows, вам потребуется средство Schtasks, так как в этом руководстве оно используется для планирования задач. Пользователи Linux вместо этого будут использовать команду crontab.

Чтобы создать учетную запись хранения общего назначения версии 2 на портале Azure, сделайте следующее:

  1. В разделе Службы Azure выберите элемент Учетные записи хранения
  2. На странице Учетные записи хранения щелкните + Создать.
  3. На вкладке Основные выберите подписку, в которой будет создана учетная запись хранения.
  4. В поле Группа ресурсов выберите нужную группу ресурсов или создайте новую. Дополнительные сведения о группах ресурсов Azure см. в статье Общие сведения об Azure Resource Manager.
  5. Далее введите имя своей учетной записи хранения. Выбранное вами имя должно быть уникальным в Azure. Имя должно содержать от 3 до 24 символов и может включать только цифры и строчные буквы.
  6. Выберите регион для своей учетной записи хранения или используйте регион по умолчанию.
  7. Выберите уровень производительности. Уровень по умолчанию: Стандартный.
  8. Задайте способ репликации учетной записи хранения. Вариант избыточности по умолчанию - Геоизбыточное хранилище (GRS). Дополнительные сведения о доступных вариантах репликации см. в статье Избыточность службы хранилища Azure.
  9. На вкладках Сеть, Защита данных, Дополнительные параметры и Теги доступны дополнительные параметры. Если вы хотите использовать Azure Data Lake Storage, откройте вкладку Дополнительно и задайте для параметра Иерархическое пространство имен значение Включено. Дополнительные сведения см. в статье Общие сведения об Azure Data Lake Storage 2-го поколения.
  10. Выберите Просмотр и создание, чтобы просмотреть настройки учетной записи хранения и создать учетную запись.
  11. Выберите Создать.

На следующем изображении показаны настройки колонки Основные для новой учетной записи хранения:

Screenshot showing how to create a storage account in the Azure portal.

Создание контейнера

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

Чтобы создать контейнер, сделайте следующее.

  1. Нажмите кнопку Учетные записи хранения на главной странице и выберите созданную учетную запись хранилища.

  2. Выберите Большие двоичные объекты в разделе Службы, а затем выберите Контейнер.

    Screenshot showing container creation

Имя контейнера должно начинаться с буквы или цифры. Эти имена могут содержать только буквы, цифры и знак дефиса (-). Дополнительные сведения об именовании больших двоичных объектов и контейнеров см. в статье Naming and Referencing Containers, Blobs, and Metadata (Именование контейнеров, больших двоичных объектов и метаданных и ссылка на них).

Скачивание AzCopy

Скачайте исполняемый файл AzCopy версии 10.

Поместите файл AzCopy в любое расположение на компьютере. Добавьте расположение файла в системную переменную пути, чтобы можно было ссылаться на этот исполняемый файл из любой папки на компьютере.

Проверка подлинности в Microsoft Entra ID

Сначала назначьте своему удостоверению роль участника для данных больших двоичных объектов хранилища. См. статью Назначение роли Azure для доступа к данным BLOB-объектов.

Затем откройте командную строку, введите следующую команду и нажмите клавишу ВВОД.

azcopy login

Эта команда возвращает код проверки подлинности и URL-адрес веб-сайта. Откройте веб-сайт, укажите код и нажмите кнопку Далее.

Screenshot showing the login prompt

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

Отправка содержимого папки в хранилище BLOB-объектов

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

azcopy copy "<local-folder-path>" "https://<storage-account-name>.<blob or dfs>.core.windows.net/<container-name>" --recursive=true
  • Замените заполнитель <local-folder-path> путем к папке, которая содержит файлы (например, C:\myFolder или /mnt/myFolder).

  • Замените заполнитель <storage-account-name> именем вашей учетной записи хранения.

  • Замените заполнитель <container-name> именем созданного контейнера.

Чтобы рекурсивно передать все содержимое определенного каталога в хранилище BLOB-объектов, укажите параметр --recursive. При запуске с этим параметром AzCopy передает все вложенные папки и файлы.

Отправка измененных файлов в хранилище BLOB-объектов

Вы можете использовать AzCopy для передачи файлов с учетом времени их последнего изменения.

Чтобы проверить этот режим, измените или создайте несколько тестовых файлов в исходном каталоге. Затем выполните команду AzCopy sync.

azcopy sync "<local-folder-path>" "https://<storage-account-name>.blob.core.windows.net/<container-name>" --recursive=true
  • Замените заполнитель <local-folder-path> путем к папке, которая содержит файлы (например, C:\myFolder или /mnt/myFolder).

  • Замените заполнитель <storage-account-name> именем вашей учетной записи хранения.

  • Замените заполнитель <container-name> именем созданного контейнера.

См. подробнее о команде sync в руководстве по синхронизации файлов.

Создание запланированной задачи

Вы можете создать запланированную задачу или задание cron, которые выполняют скрипт с командой AzCopy. Этот скрипт обнаруживает и отправляет в облачное хранилище обновленные локальные данные через определенные промежутки времени.

Скопируйте команду AzCopy в текстовый редактор. Замените значения параметров в команде AzCopy подходящими значениями. Сохраните файл AzCopy с именем script.sh (для Linux) или script.bat (для Windows).

В этих примерах используется имя папки myFolder, имя учетной записи хранения mystorageaccount и имя контейнера mycontainer.

Примечание.

В примере Linux добавляется маркер SAS. Вам потребуется указать его в команде. Текущая версия AzCopy V10 не поддерживает авторизацию Microsoft Entra в заданиях cron.

azcopy sync "/mnt/myfiles" "https://mystorageaccount.blob.core.windows.net/mycontainer?sv=2018-03-28&ss=bfqt&srt=sco&sp=rwdlacup&se=2019-05-30T06:57:40Z&st=2019-05-29T22:57:40Z&spr=https&sig=BXHippZxxx54hQn/4tBY%2BE2JHGCTRv52445rtoyqgFBUo%3D" --recursive=true

В этом руководстве мы применим Schtasks для создания в Windows запланированной задачи. Команда Crontab позволяет создать задание cron в Linux.

Schtasks позволяет администратору создавать, удалять, просматривать, изменять, выполнять или завершать запланированные задачи на локальном или удаленном компьютере. Cron в Linux и Unix дает пользователям возможность выполнять команды или скрипты в определенное время определенного дня с помощью выражений cron.

Чтобы создать в Linux задание cron, введите в терминале следующую команду:

crontab -e
*/5 * * * * sh /path/to/script.sh

Если в команде указано выражение cron */5 * * * *, то скрипт оболочки script.sh будет выполняться каждые пять минут. Вы можете назначить выполнение скрипта на определенное время ежедневно, ежемесячно или ежегодно. Дополнительные сведения о настройке даты и времени для выполнения заданий вы найдете в документации по выражениям cron.

Чтобы проверить правильность работы запланированных задач и (или) заданий cron, создайте в каталоге myFolder новые файлы. Подождите пять минут, чтобы новые файлы успели переместиться в учетную запись хранения. Перейдите в каталог журнала и проверьте содержимое журналов для запланированной задачи или задания cron.

Следующие шаги

Дополнительные сведения о способах перемещения данных из локальной среды в службу хранилища Azure и обратно см. по этой ссылке:

См. подробнее об AzCopy: