Варианты выбора - это настраиваемые элементы GeoEvent Services, которые направляют GeoEvents или записи событий в несколько пунктов назначения на основе определенных условий. Варианты выбора - это настраиваемые элементы, которые используют условные выражения, применяемые к записям событий по порядку, во многом как оператор if-else в языках программирования. В дополнение к условным выражениям, необязательный конечный маршрут может быть определен для событий, которые не попадают в список указанных условных выражений.
Работа с вариантами выбора
Как упоминалось выше, выбор указывает список маршрутов, по которым может пройти GeoEvent. Каждый маршрут оценивается предложением when, которое определяет условное выражение, которому должно соответствовать событие, чтобы пройти. Если событие проходит условие, определенное предложением when, оно следует по этому маршруту. Если событие не проходит условие, определенное предложением when, оно переходит к следующему предложению when, если оно существует. Предложения when в варианте выбора обрабатываются в последовательном порядке, и все они настраиваются в элементе выбора.
Если запись о событии не соответствует ни одному из условий, указанных в предложении when, она может быть дополнительно передана другому маршруту. Если включен другой маршрут, событие передается этому маршруту, условие, которое должно быть выполнено, отсутствует. Если другой маршрут не включен, запись события удаляется и не передается ни на один маршрут.
Примечание:
Запись события, которая соответствует условию в заданном предложении when, не будет рассматриваться для последующих маршрутов when или других маршрутов.
Пример случаев использования
Ниже приведены некоторые случаи, когда можно было бы использовать вариант выбора.
Мониторинг транспортных средств
В этом примере предположим, что данный канал данных предоставляет данные о событиях для разных типов транспортных средств, каждый из которых должен обрабатываться по-разному. Данные содержат поле (VehicleType), которое содержит информацию о трех типах транспортных средств (самолет, поезд и легковой автомобиль). Используя элемент выбора, каждую запись о событии можно направить в отдельный рабочий процесс обработки в зависимости от типа транспортного средства. Если поток данных отправляет запись события, которая не является одним из трех типов транспортных средств, таких как Грузовик, событие отбрасывается.
Рассмотрим следующие условные выражения, применимые к этому примеру:
- Если тип транспортного средства - Самолет, обработать запись события как самолет.
- Если тип транспортного средства - Поезд, обработать запись события как поезд.
- Если тип транспортного средства - Легковой автомобиль, обработать запись события как легковой автомобиль.
- Если тип транспортного средства - Грузовик, отбросить запись о событии.
Контроль скорости снегоочистителя
В этом примере предположим, что поток данных предоставляет данные о событиях для парка снегоочистителей и их текущей скорости. Во время снегоуборки нормальная скорость транспортного средства составляет от 25 до 35 миль в час. Любое отклонение ниже этого диапазона означает, что снегоочиститель работает неэффективно, а любое отклонение выше этого диапазона может повредить снегоочиститель.
Обратите внимание на следующие условные выражения, которые применяются при работе снегоочистителя:
- Если скорость меньше или равна 24 милям в час, снегоочиститель будет иметь статус Низкая скорость.
- Если скорость больше или равна 36 милям в час, снегоочиститель будет иметь статус Высокая скорость.
- В противном случае снегоочиститель будет иметь статус Нормальная скорость.
Соображения при работе с выбором
При работе с вариантами выбора необходимо учитывать множество факторов, в том числе:
- Для каждого варианта выбора требуется как минимум одно условное выражение.
- Определение предложения в противном случае необязательно и по умолчанию отключено.
- Каждый элемент выбора может иметь только один родительский элемент, и этот родительский элемент должен быть либо входом, либо фильтром, либо процессором.
- Каждое выражение Когда может иметь только один целевой элемент, что означает, наличие только одного исходящего маршрута от каждого условного утверждения, включая В противном случае.
- Если вариант использования требует, чтобы цель одного выражения Когда была направлена более чем на один элемент (например, два отдельных результата), используйте Процессор Никаких действий как целевой для выражения Когда, а затем ведите ветвь оттуда.
- Целевой элемент элемента выбора должен быть либо пустым (без цели), либо процессором, либо фильтром, либо выходом.
- Элемент выбора не может быть направлен к другому элементу выбора, то есть два элемента выбора не могут быть размещены в строке в GeoEvent Service:
- Вход для выбора не может быть выходом для другого выбора.
- Целью выбора не может быть другой выбор.
- Если вариант использования требует, чтобы цель одного элемента выбора была перенаправлена на элемент второго выбора, выполните одно из следующих действий:
- Используйте Процессор Никаких действий между двумя элементами выбора.
- Включите предложение when из второго варианта в первый вариант.
Добавление элементов выбора в сервис GeoEvent
Чтобы добавить и настроить элемент выбора в сервис GeoEvent, выполните следующие действия:
- В конструкторе сервисов GeoEvent Manager перетащите элемент Выбор из списка Новые элементы на холст.
- Введите Имя для нового элемента выбора.
Примечание:
При выборе одно или несколько условных выражений могут применяться в указанном порядке к данным события. Каждое условное выражение имеет уникальное имя, которое его идентифицирует, а также номер (начиная с 1), который указывает порядок, в котором условные выражения будут оценивать данные события.
- Щелкните Добавить, чтобы добавить условное выражение.
- В окне Свойства выбора выполните следующие действия, чтобы добавить предложение when.
- Введите Имя для условного выражения.
- Щелкните Добавить выражение , чтобы добавить и настроить предложение when.
- Щелкните Добавить выражение еще раз, чтобы добавить и настроить дополнительные предложения when.
- Щелкните OK, чтобы сохранить условное выражение.
- При необходимости повторите шаги 3 и 4, чтобы добавить больше условных выражений.
- При желании отметьте В противном случае, чтобы определить другой маршрут.
Примечание:
Если отмечено В противном случае, включается другой маршрут. Все события, которые не соответствуют критериям, определенным в предложении when, будут переданы другому маршруту. Снятие отметки В противном случае означает, что любые записи событий, не соответствующие определенным предложениям when, будут удалены.
- Щелкните OK, чтобы сохранить и добавить элемент выбора в конструкторе сервисов.
- Подключите новый элемент выбора к другим элементам в сервисе GeoEvent.
Редактирование выбора
Окно Выбор предоставляет опции для просмотра, редактирования, удаления и изменения порядка настроенных условных выражений.
- Наведите курсор на , чтобы просмотреть предложения when, связанные с условным выражением.
- Используйте кнопку Редактировать , чтобы открыть и отредактировать предложения when условных выражений.
- Используйте кнопку Удалить для удаления условного выражения.
- Используйте кнопку Изменить порядок , чтобы изменить порядок оценки данных события условными выражениями.
Использование фильтров в предложениях when
В выражении Когда у вас есть возможность использовать различные типы фильтров для оценки данных события. Подробнее о различных типах опций фильтрации см. в ресурсах ниже: