Управление пакетами Python 2 в службе автоматизации Azure

В этой статье описывается, как импортировать, управлять и использовать пакеты Python 2 в служба автоматизации Azure запущенных в среде песочницы Azure и гибридных рабочих ролей Runbook. Чтобы упростить модули Runbook, можно использовать пакеты Python для импорта необходимых модулей.

Сведения об управлении пакетами Python 3 см. в статье "Управление пакетами Python 3".

Импорт пакетов

  1. В учетной записи службы автоматизации в области Общие ресурсы выберите Пакеты Python. Выберите + Добавить пакет Python.

    Снимок экрана: страница

  2. На странице Добавить пакет Python выберите локальный пакет для загрузки. Пакет может иметь расширение файла .whl или .tar.gz.

  3. Введите имя и выберите версию среды выполнения как 2.x.x.

  4. Выберите Импорт.

    Снимок экрана: страница добавления пакета Python с выбранным tar.gz файлом.

После импорта пакета он указан на странице пакетов Python в учетной записи службы автоматизации. Чтобы удалить пакет, выберите его и выберите Удалить.

Снимок экрана: страница пакетов Python 2.7.x после импорта пакета.

Импорт пакетов с зависимостями

служба автоматизации Azure не разрешает зависимости для пакетов Python во время импорта. У вас есть два варианта, позволяющих импортировать пакет со всеми зависимостями. Для импорта пакетов в учетную запись службы автоматизации выполните только один из следующих шагов.

Скачивание вручную

На компьютере под управлением 64-разрядной версии Windows и с установленными Python 2.7 и PIP выполните следующую команду, чтобы скачать пакет и все его зависимости:

C:\Python27\Scripts\pip2.7.exe download -d <output dir> <package name>

После скачивания пакетов их можно импортировать в учетную запись службы автоматизации.

Модуль Runbook

Чтобы получить runbook, импортируйте пакеты Python 2 из PyPi в учетную запись службы автоматизации Azure из раздела службы автоматизации Azure на GitHub. Убедитесь, что в параметрах запуска задано значение Azure и запустите runbook с нужными параметрами. Убедитесь, что управляемое удостоверение включено для учетной записи службы автоматизации и имеет доступ участника автоматизации для успешного импорта пакета. Следите за тем, чтобы в начале каждого параметра был правильный символ, как показано в следующем списке и на рисунке ниже.

  • -s <subscriptionId>
  • -g <resourceGroup>
  • -a <automationAccount>
  • -m <modulePackage>

Снимок экрана: страница обзора для import_py2package_from_pypi с панелью запуска runbook справа.

Runbook позволяет указать нужный пакет для скачивания. Например, если задать параметр Azure, будут скачаны все модули Azure и все зависимости (около 105). После завершения Runbook проверьте Пакеты Python в разделе Общие ресурсы в учетной записи службы автоматизации и убедитесь, что пакет импортирован правильно.

Использование пакета в модуле runbook

Завершив импорт пакета, вы сможете использовать его в runbook. Добавьте следующий код для перечисления всех групп ресурсов в подписке Azure:

#!/usr/bin/env python 
import os 
import requests 
# printing environment variables 
endPoint = os.getenv('IDENTITY_ENDPOINT') + "?resource=https://management.azure.com/" 
identityHeader = os.getenv('IDENTITY_HEADER') 
payload = {} 
headers = { 
    'X-IDENTITY-HEADER': identityHeader, 
    'Metadata': 'True' 
} 
response = requests.request("GET", endPoint, headers=headers, data=payload) 
print response.text 

Разработка и тестирование модулей runbook в автономном режиме

Для автономной разработки и тестирования runbook на основе Python 2 можно использовать модуль эмулируемых ресурсов Python для службы автоматизации Azure, размещенный в репозитории GitHub. Он позволяет ссылаться на общие ресурсы, такие как учетные данные, переменные, подключения и сертификаты.

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

Дополнительные сведения см. в статье Создание runbook для Python.