Типы модулей Runbook в службе автоматизации Azure

Компонент автоматизации процессов службы автоматизации Azure поддерживает несколько типов модулей runbook, как описано в следующей таблице. Операционная среда автоматизации процессов описана в руководстве по выполнению модуля runbook в службе автоматизации Azure.

Тип Описание
Графический Графический модуль runbook, который основан на Windows PowerShell. Создать и изменить его можно в графическом редакторе на портале Azure.
Графический модуль рабочего процесса PowerShell Графический модуль runbook, который основан на рабочем процессе Windows PowerShell. Создать и изменить его можно в графическом редакторе на портале Azure.
PowerShell Текстовый модуль runbook, основанный на скриптах Windows PowerShell.
Рабочий процесс PowerShell Текстовый модуль runbook, основанный на скриптах рабочего процесса Windows PowerShell.
Python Текстовый модуль runbook, основанный на скриптах Python.

Выбирая тип модуля runbook, принимайте во внимание следующие рекомендации.

  • Runbook нельзя преобразовать из графического типа в текстовый или наоборот.
  • При использовании других типов дочерних модулей runbook могут действовать некоторые ограничения. Дополнительные сведения см. в статье Дочерние модули Runbook в службе автоматизации Azure.

Графические модули Runbook

Вы можете создавать и редактировать графические модули runbook и графические модули runbook рабочего процесса PowerShell с помощью графического редактора на портале Azure. Однако вы не можете создать или изменить этот тип модуля runbook с помощью другого инструмента. Основные возможности графических модулей runbook:

  • Экспорт в файлы в учетной записи службы автоматизации, а затем импорт в другую учетную запись службы автоматизации.
  • Создание кода PowerShell.
  • Преобразование в модули runbook рабочего процесса PowerShell и наоборот во время импорта.

Преимущества

  • Использование визуальной модели создания insert-link-configure (вставить, связать и настроить).
  • Фокусировка на том, как происходит поток данных.
  • Визуальное представление процессов управления.
  • Включение других модулей runbook в качестве дочерних для создания высокоуровневых рабочих процессов.
  • Удобство модульного программирования.

Ограничения

Модули Runbook PowerShell

Модули Runbook PowerShell используют Windows PowerShell. Код модуля Runbook можно редактировать в текстовом редакторе на портале Azure. Кроме того, можно использовать любой автономный текстовый редактор и импортировать Runbook в службу автоматизации Azure.

Версия PowerShell определяется указанной версией среды выполнения (предварительная версия 7.1 или 5.1). Служба служба автоматизации Azure поддерживает последнюю версию среды выполнения PowerShell.

Одна и та же песочница Azure и гибридная рабочая роль Runbook могут параллельно выполнять модули Runbook PowerShell 5.1 и PowerShell 7.1 .

Примечание

При выполнении модуля Runbook при выборе версии среды выполнения7.1 (предварительная версия) используются модули PowerShell, предназначенные для версии среды выполнения 7.1, и если выбрать версию среды выполнения как 5.1, используются модули PowerShell, предназначенные для версии среды выполнения 5.1.

Убедитесь, что выбрана правильная версия среды выполнения для модулей.

Например: при выполнении модуля Runbook для сценария автоматизации SharePoint в среде выполнения версии7.1 (предварительная версия), импортируйте модуль в среде выполнения версии7.1 (предварительная версия); Если вы выполняете модуль Runbook для сценария автоматизации SharePoint в среде выполнения версии5.1, импортируйте модуль в среде выполнения версии5.1. В этом случае вы увидите две записи для модуля: одну для среды выполненияверсии 7.1 (предварительная версия) и другую для версии 5.1.

Типы runbook.

В настоящее время поддерживаются PowerShell 5.1 и 7.1 (предварительная версия).

Преимущества

  • Реализация сложной логики с помощью кода PowerShell без дополнительного усложнения рабочего процесса PowerShell.
  • Запускаются быстрее, чем модули runbook рабочего процесса PowerShell, так как не требуют предварительной компиляции.
  • Работают в Azure и гибридных рабочих ролях Runbook для Windows и Linux.

Ограничения — версия 5.1

  • Необходимо знание скриптов PowerShell.
  • Нельзя использовать параллельную обработку для одновременного выполнения нескольких действий.
  • Модули runbook не могут использовать контрольные точки для возобновления в случае ошибки.
  • В качестве дочерних модулей Runbook можно включить только PowerShell, runbook рабочего процесса PowerShell и графические модули Runbook с помощью командлета Start-AzAutomationRunbook , который создает новое задание.
  • Модули Runbook не могут использовать инструкцию PowerShell #Requires , она не поддерживается в песочнице Azure или в гибридных рабочих ролезах Runbook и может привести к сбою задания.

Известные проблемы — версия 5.1

Ниже перечислены проблемы с модулями runbook PowerShell, известные на данный момент.

  • Модули runbook PowerShell не могут извлечь незашифрованный ресурс-контейнер переменной со значением NULL.
  • Модули runbook PowerShell не имеют возможности извлекать ресурс-контейнер переменной, в имени которого есть символ *~*.
  • Операция Get-Process в цикле в модуле runbook PowerShell может аварийно завершить работу после примерно 80 итераций.
  • В работе модуля runbook PowerShell может произойти сбой, если он попытается записать слишком большой объем данных в поток вывода за один раз. Как правило, эту проблему можно обойти, получив выходные данные модуля Runbook только сведения, необходимые для работы с большими объектами. Например, вместо использования Get-Process без ограничений можно сделать так, чтобы командлет выводил только необходимые параметры, например Get-Process | Select ProcessName, CPU.

Ограничения — 7.1 (предварительная версия)

  • Служба автоматизации Azure внутренние командлеты PowerShell не поддерживаются в гибридной рабочей роли Runbook linux. Чтобы получить доступ к общим ресурсам (ресурсам) учетной записи службы автоматизации, необходимо импортировать automationassets модуль в начале модуля Runbook Python.
  • Для версии среды выполнения PowerShell 7 действия модуля не извлекаются для импортированных модулей.
  • Тип параметра runbook PSCredential не поддерживается в версии среды выполнения PowerShell 7.
  • PowerShell 7.x не поддерживает рабочие процессы. Дополнительные сведения см. в этой статье.
  • В настоящее время PowerShell 7.x не поддерживает подписанные модули Runbook.
  • Интеграция системы управления версиями не поддерживает PowerShell 7.1. Кроме того, модули Runbook PowerShell 7.1 в системе управления версиями создаются в учетной записи службы автоматизации в качестве среды выполнения 5.1.

Известные проблемы — 7.1 (предварительная версия)

  • Выполнение дочерних скриптов, использующихся .\child-runbook.ps1 в этой предварительной версии, не поддерживается. Обходное решение: используйте Start-AutomationRunbook (внутренний командлет) или Start-AzAutomationRunbook (из модуля Az.Automation ) для запуска другого модуля Runbook из родительского модуля Runbook.
  • Свойства Runbook, определяющие параметры ведения журнала, не поддерживаются в среде выполнения PowerShell 7.
    Обходное решение. Явно задайте параметры в начале модуля Runbook, как показано ниже.
        $VerbosePreference = "Continue"
    
        $ProgressPreference = "Continue"
    
  • Избегайте импорта Az.Accounts модуля в версию 2.4.0 для среды выполнения PowerShell 7, так как в служба автоматизации Azure может возникнуть непредвиденное поведение.
  • Могут возникнуть проблемы с форматированием потоков вывода ошибок для задания, выполняемого в среде выполнения PowerShell 7.
  • При импорте модуля PowerShell 7.1, зависящее от других модулей, может оказаться, что кнопка импорта серая, даже если установлена версия зависимого модуля PowerShell 7.1. Например, Az.Compute версии 4.20.0 зависит от Az.Accounts >= 2.6.0. Эта проблема возникает, когда эквивалентный зависимый модуль в PowerShell 5.1 не соответствует требованиям к версии. Например, версия 5.1 Az.Accounts была < 2.6.0.
  • При запуске модуля Runbook PowerShell 7 с помощью веб-перехватчика он автоматически преобразует входной параметр веб-перехватчика в недопустимый JSON.

Модули Runbook рабочих процессов PowerShell

Runbook рабочих процессов PowerShell представляют собой текстовые Runbook, основанные на рабочем процессе Windows PowerShell. Код модуля Runbook можно редактировать в текстовом редакторе на портале Azure. Кроме того, можно использовать любой автономный текстовый редактор и импортировать Runbook в службу автоматизации Azure.

Примечание

PowerShell 7.1 не поддерживает модули Runbook рабочих процессов.

Преимущества

  • Реализация сложной логики с помощью кода рабочего процесса PowerShell.
  • Использование контрольных точек для возобновления операции в случае ошибки.
  • Использование параллельной обработки для одновременного выполнения нескольких действий.
  • Возможность использования других графических модулей runbook и модулей runbook рабочих процессов PowerShell в качестве дочерних для создания высокоуровневых рабочих процессов.

Ограничения

  • Необходимо знание рабочего процесса PowerShell.
  • Модули runbook должны справляться с усложнениями рабочего процесса PowerShell, например с десериализованными объектами.
  • Запускаются дольше, чем модули runbook PowerShell, так как требуют предварительной компиляции.
  • Модули runbook PowerShell можно включать только в качестве дочерних модулей runbook с помощью командлета Start-AzAutomationRunbook.
  • Нельзя запустить в гибридной рабочей роли Runbook для Linux.

Модули Runbook Python

Модули runbook Python компилируются в среде Python 2 и Python 3. Модули runbook для Python 3 сейчас доступны в предварительной версии. Код модуля Runbook можно редактировать в текстовом редакторе на портале Azure. Кроме того, можно использовать любой автономный текстовый редактор и импортировать модуль runbook в службу автоматизации Azure.

Модули runbook Python 3 поддерживаются в следующих глобальных инфраструктурах Azure:

  • Глобальная служба Azure
  • Azure для государственных организаций

Преимущества

  • Вы можете использовать надежные библиотеки Python.
  • Можно выполнять в Azure или в гибридных рабочих ролях Runbook.
  • Для Python 2 гибридные рабочие роли Runbook для Windows поддерживаются, если установлен Python 2.7.
  • Для облачных заданий Python 3 поддерживается версия Python 3.8. Скрипты и пакеты из любой версии 3.x могут работать, если код совместим в разных версиях.
  • Для гибридных заданий Python 3 на компьютерах с Windows можно установить любую версию 3.x, которую вы хотите использовать.
  • Для гибридных заданий Python 3 на компьютерах Linux все зависит от версии Python 3, установленной на компьютере для запуска DSC OMSConfig и гибридной рабочей роли Linux. При отсутствии критических изменений в сигнатурах методов или контрактах между версиями Python 3 должны работать разные версии.

Ограничения

  • Требуется знание скриптов Python.
  • Чтобы использовать библиотеки сторонних производителей, вы должны импортировать пакет в учетную запись службы автоматизации.
  • Использование командлета Start-AutomationRunbook в рабочем процессе PowerShell или PowerShell для запуска модуля Runbook Python 3 (предварительная версия) не работает. Для обхода этого ограничения можно использовать командлет Start-AzAutomationRunbook из модуля Az.Automation или командлета Start-AzureRmAutomationRunbook из модуля AzureRm.Automation . 
  • служба автоматизации Azure не поддерживает sys.stderr.
  • Пакет Python automationassets недоступен в pypi.org, поэтому он недоступен для импорта на компьютер Windows.

Несколько версий Python

В случае рабочей роли Runbook на Windows, при запуске модуля Runbook Python 2 она сначала ищет переменную среды PYTHON_2_PATH и проверяет, указывает ли она на допустимый исполняемый файл. Например, если папка установки — C:\Python2, рабочая роль проверит, является ли путь C:\Python2\python.exe допустимым. Если путь не найден, аналогичная проверка выполняется для переменной среды PATH.

В случае с Python 3, сначала выполняется поиск переменной среды PYTHON_3_PATH, а затем проверяется переменная среды PATH.

При использовании только одной версии Python можно добавить путь установки к переменной PATH. Если вы хотите использовать обе версии в рабочей роли Runbook, установите в PYTHON_2_PATH и PYTHON_3_PATH расположение модуля для этих версий.

Известные проблемы

В облаке задания Python 3 иногда завершаются исключением invalid interpreter executable path. Это исключение может появиться в случае задержки задания, запуска в течение более 10 минут или использования Start-AutomationRunbook для запуска модулей runbook Python 3. Если задание отложено, должно быть достаточно перезапуска модуля runbook. Задания в гибридной среде должны обрабатываться без каких-либо проблем, если выполняются следующие действия:

  1. Создание новой переменной среды с именем PYTHON_3_PATH и указание папки установки. Например, если установка выполнена в папку C:\Python3, то этот путь необходимо добавить в переменную.
  2. Перезагрузка компьютера после установки переменной среды.

Дальнейшие действия