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


Используйте AzCopy в сценариях и запланированных задачах передачи данных

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

Со временем ссылка на скачивание AzCopy указывает на новые версии AzCopy. Если ваш сценарий скачивает AzCopy, он может перестать работать, если в новой версии AzCopy изменятся функции, которые используются в сценарии.

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

Чтобы получить статическую ссылку, откройте страницу выпуска AzCopy. Затем прокрутите страницу, пока не найдите нужный выпуск. В списке ресурсов для этого выпуска щелкните правой кнопкой мыши нужный ресурс. В контекстном меню выберите "Копировать ссылку". Затем этот URL-адрес можно использовать в скрипте для скачивания и извлечения двоичного файла AzCopy.

Замечание

Статическая ссылка на двоичные файлы AzCopy может меняться со временем из-за инфраструктуры доставки содержимого. Если вы должны использовать определенную версию AzCopy по какой-либо причине, рассмотрите возможность использования AzCopy с операционной системой, которая использует опубликованный пакет Linux. Этот метод обеспечивает надежную установку и обслуживание требуемой версии AzCopy.

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

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

В следующих примерах предполагается, что вы настроили проверку подлинности Microsoft Entra с помощью переменной AZCOPY_AUTO_LOGIN_TYPE среды. Дополнительные сведения см. в разделе "Авторизация с помощью идентификатора Microsoft Entra".

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

azcopy sync "/mnt/myfiles" "https://mystorageaccount.blob.core.windows.net/mycontainer" --recursive=true

Вы можете создать задание cron с помощью команды Crontab . В следующем примере создается задание cron и указывается выражение */5 * * * * cron, указывающее, что скрипт script.sh оболочки должен выполняться каждые пять минут.

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

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

Экранирование специальных символов в токенах SAS

В пакетных файлах с .cmd расширением необходимо экранировать % символы, которые отображаются в маркерах SAS. Добавьте дополнительный % символ рядом с существующими % символами в строке маркера SAS. Результирующая последовательность символов отображается как %%. Добавьте дополнительный элемент ^ перед каждым & символом, чтобы создать последовательность символов ^&.

Выполнение сценариев с помощью Jenkins

Если вы планируете использовать Jenkins для запуска скриптов, поместите следующую команду в начало скрипта.

/usr/bin/keyctl new_session

Дальнейшие шаги

Если у вас есть вопросы, проблемы или общие отзывы, отправьте их на GitHub.