Управление пакетами Python 2 в службе автоматизации Azure
В этой статье описывается, как импортировать, управлять и использовать пакеты Python 2 в служба автоматизации Azure запущенных в среде песочницы Azure и гибридных рабочих ролей Runbook. Чтобы упростить модули Runbook, можно использовать пакеты Python для импорта необходимых модулей.
Сведения об управлении пакетами Python 3 см. в статье "Управление пакетами Python 3".
Импорт пакетов
В учетной записи службы автоматизации в области Общие ресурсы выберите Пакеты Python. Выберите + Добавить пакет Python.
На странице Добавить пакет Python выберите локальный пакет для загрузки. Пакет может быть WHL-файлом .
Введите имя и выберите версию среды выполнения как 2.x.x.
Выберите Импорт.
После импорта пакета он указан на странице пакетов Python в учетной записи службы автоматизации. Чтобы удалить пакет, выберите его и выберите Удалить.
Импорт пакетов с зависимостями
служба автоматизации 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>
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.