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