Skip To Content

Какие есть варианты?

Элемент выбора - это настраиваемый элемент сервиса GeoEvent, которые направляют GeoEvents или записи событий в один из несколько пунктов назначения на основе определенных условий. Они применяют условные утверждения к записям событий по порядку, во многом как оператор if-else в языке программирования. Элемент выбора может быть дополнительно настроен с условием otherwise ("иначе") для записей событий, атрибуты которых не удовлетворяют ни одному из других условных утверждений.

Работа с элементами выбора

Элемент выбора определяет различные маршруты, по которым GeoEvent может пройти через сервис GeoEvent. Выражение фильтра оценивает атрибуты записи события, чтобы определить, по какому маршруту будет следовать запись события. Запись о событии может следовать только по одному маршруту и ​​может быть удалена, если ее атрибуты не удовлетворяют ни одному из указанных условий. Если атрибуты записи события не удовлетворяют первому выражению (или условию) фильтра, оценивается следующее условие в списке до тех пор, пока не будут учтены все указанные условные утверждения. Необязательное условие otherwise может использоваться для перехвата записей событий, атрибуты которых не удовлетворяют никаким другим условиям. Выражения фильтра рассматриваются по одному, в последовательном порядке, сверху (первый) вниз (последний).

Если запись о событии не соответствует ни одному из указанных условий и не указано иное условие, запись о событии будет удалена и не будет обработана.

Пример случаев использования

Ниже приведены некоторые случаи, когда можно было бы использовать вариант выбора.

Мониторинг транспортных средств

В этом примере предположим, что канал данных предоставляет данные о событиях для разных типов транспорта, каждый из которых должен обрабатываться по-разному. Данные содержат поле (VehicleType), которое задает один из трех типов транспортных средств (самолет, поезд и легковой автомобиль). Используя элемент выбора, каждую запись о событии можно направить в отдельный рабочий процесс обработки в зависимости от типа транспортного средства. Если получена запись о событии, которая не относится к одному из трех типов транспортных средств, например, грузовик, эта запись будет удалена, поскольку параметр Otherwise не отмечен.

Примеры условных выраженийПример условных выражений в варианте выбора

Рассмотрим следующие условные выражения, применимые к этому примеру:

  • Если тип транспортного средства - Самолет, обработать запись события как самолет.
  • Если тип транспортного средства - Поезд, обработать запись события как поезд.
  • Если тип транспортного средства - Легковой автомобиль, обработать запись события как легковой автомобиль.
  • Если тип транспортного средства - Грузовик, отбросить запись о событии.

Контроль скорости снегоочистителя

В этом примере предположим, что поток данных предоставляет данные о событиях для парка снегоочистителей и их текущей скорости. Во время снегоуборки нормальная скорость транспортного средства составляет от 25 до 35 миль в час. Любое отклонение ниже этого диапазона означает, что снегоочиститель работает неэффективно, а любое отклонение выше этого диапазона может повредить снегоочиститель.

Примеры условных выраженийПример условных выражений в варианте выбора

Обратите внимание на следующие условные выражения, которые применяются при работе снегоочистителя:

  • Если скорость меньше или равна 24 милям в час, снегоочиститель получит статус Низкая скорость.
  • Если скорость больше или равна 36 милям в час, снегоочиститель получит статус Высокая скорость.
  • В противном случае снегоочиститель получит статус Нормальная скорость.

Что следует учитывать при работе с элементами выбора

При работе с элементами выбора учитывайте следующее.

  • Для каждого элемента выбора требуется как минимум одно условное утверждение.
    • Определение предложения в противном случае необязательно и по умолчанию отключено.
    • Каждое условие должно направлять записи событий точно в один фильтр или процессор.
  • Записи событий могут быть перенаправлены только к элементу выбора из входных данных, фильтра или процессора.
    • Записи о событиях не могут последовательно перенаправляться от одного элемента выбора к другому элементу выбора.
    • Вместо размещения фильтра до или после элемента выбора рассмотрите возможность объединения логических выражений в один элемент выбора.
  • Если вам нужно направить записи событий из одного условия на два или более выходных элемента, используйте Процессор Никаких действий как целевой и создавайте ветвь на каждом выходном узле процессора.
  • Вместо маршрутизации записей событий через фильтр непосредственно к элементу выбора, от элемента выбора к фильтру или от одного элемента выбора непосредственно ко второму элементу выбора, рекомендуется объединить условия в одно выражение фильтра.

Например, вместо использования фильтра для первой идентификации записей событий с атрибутом (например, Speed > 65), а затем использования элемента выбора для обработки конкретных случаев (например, VehicleType = Car, VehicleType = Truck и VehicleType = Van), как показано на первом рисунке ниже, следует объединить логические условия в элемент выбора (например, Speed > 65 AND VehicleType = Car), как показано на следующих двух рисунках.

Пример использования элемента выбора для фильтрации транспортных средств, превышающих скорость

Пример конфигурации элемента выбора для фильтрации транспортных средств, превышающих скорость, по типу

Добавление элементов выбора в сервис GeoEvent

Чтобы добавить и настроить элемент выбора в сервис GeoEvent, выполните следующие действия:

  1. В конструкторе сервисов GeoEvent Manager перетащите элемент Выбор из списка Новые элементы на холст.

    Окно Выбор

  2. Введите Имя для нового элемента выбора.

    В элементе выбора одно или несколько условных утверждений могут применяться в указанном порядке к данным события. Каждое условное выражение имеет уникальное имя, которое его идентифицирует, а также номер (начиная с 1), который указывает порядок, в котором условные выражения будут оценивать данные события.

  3. Щелкните Добавить, чтобы добавить условное выражение.

    Добавление условного выражения

  4. В окне Свойства выбора выполните следующие действия, чтобы добавить предложение when.

    Окно Свойства выбора

    1. Введите Имя для условного выражения.
    2. Щелкните Добавить выражение Кнопку добавить выражение, чтобы добавить и настроить предложение when.
    3. Щелкните Добавить выражение Кнопку добавить выражение еще раз, чтобы добавить и настроить дополнительные предложения when.
    4. Щелкните OK, чтобы сохранить условное выражение.
  5. При необходимости повторите шаги 3 и 4, чтобы добавить больше условных выражений.
  6. При желании отметьте В противном случае, чтобы определить другой маршрут.

    Опция маршрута В противном случае

    Если отмечено В противном случае, включается другой маршрут. Все события, которые не соответствуют критериям, определенным в предложении when, будут переданы другому маршруту. Снятие отметки В противном случае означает, что любые записи событий, не соответствующие определенным предложениям when, будут удалены.

  7. Щелкните OK, чтобы сохранить и добавить элемент выбора в конструкторе сервисов.
  8. Подключите новый элемент выбора к другим элементам в сервисе GeoEvent.

Редактирование элемента выбора

Окно Выбор предоставляет опции для просмотра, редактирования, удаления и изменения порядка настроенных условных выражений.

  • Наведите курсор на кнопку Информация, чтобы просмотреть предложения when, связанные с условным выражением.
  • Используйте кнопку Редактировать кнопка Редактировать, чтобы открыть и отредактировать предложения when условных выражений.
  • Используйте кнопку Удалить Кнопка Удалить для удаления условного выражения.
  • Используйте кнопку Изменить порядок Кнопка изменить порядок, чтобы изменить порядок оценки данных события условными выражениями.

Использование выражений фильтров в условиях when

В условии when у вас есть возможность использовать различные типы выражений фильтра для оценки данных события. Подробнее о различных типах опций фильтрации см. в ресурсах ниже: