Управление действиями runbook
Последовательность операций в модулях Runbook устанавливается путем связывания действий в конструкторе Runbook. Эти ссылки называются смарт-ссылками , так как их можно настроить для управления типом данных, передаваемых из одного действия в другое. Вы также можете контролировать, когда модуль Runbook завершает действия, задав логику при выполнении этих операций с внедренными циклами. Наконец, можно использовать текстовые и числовые операции для управления данными по мере передачи между действиями или задания условий для порядка операций. В этой статье описывается, как управлять последовательности и управлять данными в модулях Runbook.
Управление последовательностью действий с помощью смарт-ссылок
Действия в runbook будут выполнены в соответствии с заданным вами порядком, связав их вместе. Вы можете управлять данными, которые передаются между действиями, с помощью вкладок "Включить" и "Исключить" свойств ссылки. Например, можно включить только данные, передаваемые в последующее действие, соответствующее определенным критериям.
Внимание
Правила интеллектуальных связей, заданные на вкладке Исключить , заменяют правила интеллектуальных связей вкладки Включить .
Внимание
Правила на каждой вкладке объединяются с помощью условия или . Чтобы все условия на вкладке были истинными, только одно из условий на вкладке должно быть истинным.
Тип данных, опубликованных действием, определяет тип критериев, которые можно задать для управления последовательностью runbook. Некоторые действия публикуют двоичные данные, а другие публикуют числовые или текстовые данные.
Если опубликованные данные являются текстовыми данными, можно использовать любой из следующих условий для выполнения, включения или исключения.
Условие | Description |
---|---|
содержит | Указанный текст содержится в значении элемента опубликованных данных. |
не содержит | Указанный текст отсутствует в значении элемента опубликованных данных. |
начинается с | Значение элемента опубликованных данных начинается с указанного текста. |
заканчивается на | Значение элемента опубликованных данных заканчивается указанным текстом. |
соответствует шаблону | Значение элемента опубликованных данных соответствует указанному регулярному выражению. |
не соответствует шаблону | Значение элемента опубликованных данных соответствует указанному регулярному выражению. |
равно | Значение элемента опубликованных данных точно совпадает с указанным текстом. |
не равно | Значение элемента опубликованных данных не совпадает с указанным текстом. |
Примечание.
Текстовые значения не учитывает регистр.
Можно также задать критерии с помощью регулярных выражений для сопоставления шаблонов.
Если опубликованные данные числовые, можно использовать любой из следующих условий для выполнения, включения или исключения.
Условие | Description |
---|---|
равно | Значение элемента опубликованных данных точно равно указанному значению. |
не равно | Значение элемента опубликованных данных не равно указанному значению. |
меньше чем | Значение элемента опубликованных данных меньше указанного значения. |
больше | Значение элемента опубликованных данных больше указанного значения. |
меньше или равно | Значение элемента опубликованных данных меньше или равно указанному значению. |
больше или равно | Значение элемента опубликованных данных больше или равно указанному значению. |
между | Значение элемента опубликованных данных находится между двумя указанными значениями. |
Выберите необходимую вкладку для добавления или удаления условия смарт-ссылки:
Выполните следующие действия, чтобы добавить условие смарт-ссылки:
Щелкните правой кнопкой мыши смарт-ссылку, чтобы выбрать свойства, чтобы открыть диалоговое окно "Свойства ссылки".
Внимание
Чтобы изменить значения, составляющие правило, необходимо выбрать каждую подчеркнутую часть условия интеллектуальной связи.
Выберите указанное действие в условии, чтобы открыть диалоговое окно "Опубликованные данные ".
Установите флажок Показывать общие возвращаемые данные для отображения свойств, общих для всех действий.
Выберите свойство из опубликованных данных и нажмите кнопку "ОК". Выражение условий изменяется в зависимости от типа данных, которые возвращает данное свойство.
Чтобы изменить различные части выражения, выделите подчеркнутый текст, а затем выберите или введите соответствующее значение.
Выберите Готово.
Повторять действия со встроенными циклами
С помощью циклов можно создавать автоматические повторные попытки и отслеживать в любом расположении в модуле Runbook.
Можно создать цикл для любого действия, чтобы можно было повторить операции, если они завершаются ошибкой или проверяют выходные данные действия для допустимых данных. Эти механизмы также можно использовать для создания условий ожидания в рабочих процессах.
При настройке цикла для действия он будет продолжать работать с теми же входными данными, пока не будет достигнут требуемый критерий цикла выхода. Вы создаете условия выхода для цикла таким же образом, как конфигурации смарт-канала. Вы можете использовать любой опубликованный элемент данных из действия в рамках выхода или не выйти из конфигурации. Включенные в общие опубликованные данные — это специальные элементы данных, такие как цикл: количество попыток и циклов: общая длительность, которая позволяет использовать данные из самого цикла в условиях цикла.
Циклы выполняются один раз для каждого входящего фрагмента данных, передаваемых в действие. Например, рассмотрим модуль Runbook, использующий действие базы данных запросов, за которым следует добавить строку. Если действие "База данных запросов" вернуло три строки, действие "Добавить строку" будет выполняться три раза. Если у вас есть цикл в действии "Добавление строки ", он будет выполнять три отдельных цикла. После того как первый элемент данных прокрутился через действие "Добавить линию ", следующий элемент проходит через строку добавления и циклы, пока не завершится, а затем начинается третий. После обработки всех трех элементов в runbook выполняется следующее действие.
Настройка циклов
Щелкните правой кнопкой мыши действие в модуле Runbook, чтобы выбрать цикл. Откроется диалоговое окно "Свойства цикла".
На вкладке "Общие " нажмите кнопку "Включить".
В поле "Задержка между попытками" введите количество секунд для приостановки между каждой попыткой выполнения действия.
Выход и не выход из условий
Правила на вкладке "Выход" указывают условия, определяющие, завершается ли цикл. Правила на вкладке "Не выход" указывают условия, которые вызывают продолжение цикла.
Внимание
Правила на вкладке "Не выход" заменяют правила на вкладке "Выход".
Правила на каждой вкладке объединяются с помощью условия Or . Только одно из условий на вкладке должно иметь значение true для всей вкладки.
Выберите необходимую вкладку для процедуры, чтобы добавить или удалить условие выхода :
Выполните следующие действия, чтобы добавить условие выхода:
В диалоговом окне "Свойства цикла" выберите вкладку "Выход" или "Не выход" и выберите условие, указанное в поле "Добавить", чтобы добавить условие.
Внимание
Чтобы изменить значения, составляющие правило, необходимо выбрать каждую подчеркнутую часть условия ссылки.
Выберите указанное действие в условии, чтобы открыть диалоговое окно "Опубликованные данные ".
Установите флажок "Показать общие возвращаемые данные", чтобы отобразить свойства, которые являются общими для всех действий.
Выберите свойство из опубликованных данных и нажмите кнопку "ОК". Выражение условий изменяется в зависимости от типа данных, которые возвращает данное свойство.
Чтобы изменить различные части выражения, выделите подчеркнутый текст и выберите или введите соответствующее значение.
Выберите Готово.
Задание расписания для модуля Runbook
Вы можете задать расписание для управления при запуске модуля Runbook. Например, возникают случаи, когда неуместно запускать некоторые модули Runbook, например резервное копирование модуля Runbook на главном сервере в течение обычных рабочих часов. Можно создать расписание со сложным интервалом, например по первым и третьим понедельникам и четвергам каждого месяца за исключением тех случаев, когда они выпадают на выходные.
В расписаниях используются системные часы сервера Runbook, который запускает модуль Runbook. Это позволяет расписаниям функционировать в средах виртуальных машин и продолжать выполнение даже при изменении времени системных часов, например в связи с переходом на летнее время.
Модули Runbook, которые начинаются до запрещенного времени выполнения до завершения, даже если они по-прежнему обрабатываются при поступлении запрещенного времени. Они не будут прерваны после начала обработки.
Внимание
Разрешения доступа для расписаний можно изменить, но сервер Runbook не применяет эти разрешения.
Примечание.
Если вы планируете запуск модуля Runbook в течение часа, пропускаемого при настройке системных часов на один час, время запуска пропускается, а модуль Runbook начинается в следующее запланированное время. Если вы планируете запуск модуля Runbook в течение часа, которое происходит два раза, так как системные часы корректируются назад на один час, модуль Runbook запускается два раза.
Примечание.
Orchestrator не поддерживает перемещение нескольких расписаний с несколькими выборами. Для перемещения в другую папку более одного расписания необходимо переместить отдельно каждое расписание.
Выберите необходимую вкладку, чтобы создать расписание, назначить расписание runbook или удалить расписание из модуля Runbook:
Выполните следующие действия, чтобы создать расписание:
В области "Подключения" щелкните правой кнопкой мыши папку "Расписания" или вложенную папку "Расписания", наведите указатель на "Создать", а затем выберите "Расписание", чтобы открыть диалоговое окно "Создать расписание".
На вкладке "Общие" в поле "Имя" введите имя расписания.
В поле "Описание" введите описание, описывающее или объясняющее назначение расписания.
Выберите вкладку "Сведения ". Выберите дни, в которые это расписание позволяет запускать модули Runbook:
Дни недели: выберите этот вариант и задайте дни недели, по которым расписание разрешает выполнение модулей Runbook.
Повторение: выберите недели месяца, по которым расписание разрешает выполнение модулей Runbook.
Дни месяца: выберите этот вариант и задайте дни месяца, по которым расписание разрешает выполнение модулей Runbook. Чтобы указать день месяца введите нужное число. Можно использовать дефисы для указания диапазонов и запятые для разделения записей. Например, ввод 1,3 включает первый и третий день месяца. Ввод 1-21 включает первый до двадцать первого дня месяца. Можно сочетать оба способа, создавая сложные комбинации дней месяца. Введите все , чтобы указать все дни месяца. Введите последний, чтобы указать последний день месяца.
Вы не можете использовать все и последние в рамках диапазона дней. Кроме того, если вы ввели диапазон от 5 до 31, этот диапазон работает правильно для всех месяцев, в том числе с 28, 29, 30 и 31 дней.
Выберите "Часы ", чтобы открыть диалоговое окно "Расписание часов ".
Выберите и перетащите группу часов в неделю. Текст в нижней части диалогового окна показывает выбранный период времени. Затем выберите один из следующих вариантов:
Разрешено (синий переключатель): назначение выбранного периода в качестве времени, когда выполнение модуля Runbook разрешено.
Запрещено (белый переключатель): назначение выбранного периода в качестве времени, когда выполнение модуля Runbook запрещено.
Нажмите ОК.
Перейдите на вкладку "Исключения". В списке отображаются все дни, которые являются исключениями для правил, определенных на вкладке "Сведения ".
Нажмите кнопку "Добавить ", чтобы открыть диалоговое окно "Дата ".
Укажите дату и нажмите кнопку "Разрешить" или "Запретить", чтобы разрешить или запретить запуск модуля Runbook в этот день, а затем нажмите кнопку "ОК". Запись появится в списке.
Чтобы изменить запись исключения, выберите ее и нажмите кнопку "Изменить". Чтобы удалить запись исключения, выберите ее и нажмите кнопку "Удалить".
Чтобы изменить расписание, дважды щелкните элемент Расписание.
Чтобы удалить расписание, щелкните элемент Расписаниеправой кнопкой мыши и выберите команду Удалить.
Выберите Готово.
Управление данными с помощью функций
Может потребоваться управлять строковыми данными из текстовых файлов, возвращаемыми данными или другими источниками, а также преобразовать их в доступную форму для действий Runbook. Кроме того, можно выполнять простые арифметические операции, такие как вычисление сумм и различий, а также выполнение операций деления и умножения. Например, можно извлечь текст из текстового файла, используя действие Управление текстовыми файлами , обрезать начальные и конечные пробелы в тексте, а затем извлечь определенные части текста, которые можно передать в другие действия как элементы возвращаемых данных.
Вы управляете данными в runbook, вставляя функцию. Функции обработки данных необходимо заключать в квадратные скобки ("[" и "]"). Например:
[Upper('this will be inserted in upper case')]
При выполнении действия текст "этот текст будет вставлен в верхнем регистре" в примере заменяется на "ЭТОТ ТЕКСТ БУДЕТ ВСТАВЛЕН В ВЕРХНЕМ РЕГИСТРЕ".
В именах функций учитывается регистр. Например, функция Upper('Текст') будет обработана, а функция upper('Текст') — нет.
В таблице ниже перечислены функции, поддерживаемые для модулей Runbook.
Функция и определение | Использование | Параметры | Пример |
---|---|---|---|
Upper — преобразование текста в верхний регистр. | Upper('Текст') | Текст — текст, который преобразуется в верхний регистр. | Функция Upper('этот текст будет преобразован в верхний регистр') возвращает строку 'ЭТОТ ТЕКСТ БУДЕТ ПРЕОБРАЗОВАН В ВЕРХНИЙ РЕГИСТР'. |
Lower — преобразование текста в нижний регистр. | Lower('Текст') | Текст — текст, который преобразуется в нижний регистр. | Функция Lower('Этот Текст Будет Преобразован В Нижний Регистр') возвращает строку 'этот текст будет преобразован в нижний регистр'. |
Field — возвращает текст в определенной позиции. | Field('Текст', 'Разделитель', Номер поля) | Текст — текст, поиск которого выполняется. Разделитель — символ, разделяющий поля. Номер поля — возвращаемое положение поля (начиная с единицы). |
Field('Иван;Петров;9055552211', ';', 2) возвращает значение 'Петров'. |
Sum — возвращает сумму набора чисел. | Sum(первоеЧисло, второеЧисло, третьеЧисло, ...) | Номер — добавляемое число. В функцию можно передать любой набор чисел, отделяя каждое запятой (,). | Функция Sum(2,3,4,5) возвращает значение '14'. |
Инструмент сравнения — возвращает разность двух чисел. | Diff(Number1, Number2, <Precision>) | Число1 — уменьшаемое. Число2 — вычитаемое (из Числа1). Необязательная> точность <— число десятичных разрядов, до которых будет округлено результат. |
Инструмент сравнения(9, 7) возвращает значение '2' Инструмент сравнения(9.3, 2.1, 2) возвращает значение '7,20'. |
Mult — возвращает произведение набора чисел. | Mult(первоеЧисло, второеЧисло, третьеЧисло, ...) | Число — умножаемое число. В функцию можно передать любой набор чисел, отделяя каждое запятой (,). | Функция Mult(2, 3, 4) возвращает значение '24'. |
Div — возвращает частное деления двух чисел. | Div(Number1, Number2, <Precision>) | Число1 — делимое. Число2 — делитель для Числа1. Необязательная> точность <— число десятичных разрядов, до которых будет округлено результат. |
Функция Div(8, 4) возвращает значение '2'. Функция Div(9, 2, 2) возвращает значение '4,50'. |
Instr — возвращает позицию первого вхождения текста в другом тексте. | Instr ('ТекстПоиска', 'ИскомыйТекст') | ТекстПоиска — текст, в котором выполняется поиск. ИскомыйТекст — текст, который необходимо найти. |
Функция Instr('Это искомая строка', 'строка') возвращает значение 11. |
Right — возвращение подмножества текста с правой стороны всего текста. | Right('Текст', длина) | Текст — весь текст. Длина — число возвращаемых символов с правой стороны. |
Функция Right('Текст с правой стороны', 9) возвращает значение 'стороны'. |
Left — возвращение подмножества текста с левой стороны всего текста. | Left('Текст', Длина) | Текст — весь текст. Длина — число возвращаемых символов с левой стороны. |
Функция Left('Текст с левой стороны', 4) возвращает значение 'Текст'. |
Mid — возвращение подмножества текста из середины всего текста. | Mid('Текст', Начало, Длина) | Текст — весь текст. Начало — начальная позиция в тексте, с которой требуется начать возвращение символов. Длина — число возвращаемых символов, начиная с начальной позиции. |
Функция Mid('Текст из середины', 5, 4) возвращает значение 'из'. |
LTrim — обрезка начальных пробелов в тексте. | LTrim('Текст') | Текст — текст, в котором обрезаются начальные пробелы | LTrim(' Удалить только ведущие пробелы. ) возвращает значение "Удалить только ведущие пробелы. ' |
RTrim — обрезка конечных пробелов в тексте. | RTrim('Текст') | Текст — текст, в котором обрезаются конечные пробелы | RTrim(' Удалить только конечные пробелы. ") возвращает значение "Удалить только конечные пробелы". |
Trim — обрезка начальных и конечных пробелов в тексте. | Trim('Текст') | Текст — текст, в котором выполняется обрезка пробелов. | Trim(' Удалить начальные и конечные пробелы. )) возвращает значение "Удалить начальные и конечные пробелы". |
Len — возвращение длины текста. | Len('Текст') | Текст — текст, длина которого измеряется. | Функция Len('Измерить этот текст') возвращает значение 17. |
Примечание.
В именах функций учитывается регистр. Например, функция Upper('Текст') будет обработана, а функция upper('Текст') — нет.
Next Steps
Чтобы прочитать пошаговое руководство по созданию примера модуля Runbook, см. статью "Создание и тестирование примера модуля Runbook".