Правила Fabric Activator

При переносе потоковых данных в активатор или назначение событий объектам можно создавать правила для действия с данными.

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

Каждый активатор включает в себя одно или несколько правил, которые он оценивает непрерывно. Эти правила могут быть простыми сравнениями (value < threshold) или выражениями с отслеживанием состояния, такими как BECOMES, DECREASES, INCREASES, EXIT RANGE, или отсутствием данных (поток). Активатор обеспечивает отслеживание состояния для каждого объекта, что обеспечивает комплексное обнаружение шаблонов с течением времени.

Действия

Когда выполняются условия правила и инициируется действие, активируется правило. Поддерживаемые целевые объекты для действий включают:

  • Конвейеры Fabric (для перемещения данных, обогащения)

  • Записные книжки Fabric (для оценки машинного обучения, диагностики)

  • Задачи Fabric Spark (для пакетных и потоковых задач)

  • Функции Fabric (для пользовательской бизнес-логики с кодом)

  • Потоки Power Automate (для интеграции бизнес-процессов)

  • Уведомления Teams (с помощью шаблонных сообщений)

  • Уведомления по электронной почте

Существует три типа правил: правила о событиях, правилах событий, добавляемых в объект, и правилах свойств объекта.

Создание правил для событий

При создании правил событий вы получаете активацию для каждого события, которое поступает в поток событий. С помощью этих правил можно отслеживать состояние чего-то с течением времени. Например:

  • Вы получаете оповещение каждый раз, когда новое событие поступает в поток событий, который содержит считывания с одного датчика Интернета вещей.
  • Вы получаете оповещение каждый раз, когда происходит новое событие, и значение столбца в этом событии соответствует определенному условию.

Создание правил для событий объекта

Вы создаете объекты из потоковых данных и определяете их с помощью уникальных столбцов в одном или нескольких потоках. Выберите конкретные столбцы и уникальный столбец для объединения в объект. Затем вместо создания правил при поступлении событий создайте правила, которые отслеживают события и сообщают о прибытии этого объекта или при поступлении объекта, соответствующего определенному условию. Правило активируется каждый раз, когда новое событие поступает в объект eventstream. Вы также можете определить, для какого случая он предназначался.

Создание правил для свойств

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

Правила без состояния и правила с состоянием

Правила в активаторе могут быть без отслеживания состояния или состояния:

  • Правила без состояния оценивают каждое событие в изоляции (например, value < 50).
  • Правила с отслеживанием состояния сохраняют память по событиям для каждого объекта (например, value DECREASES, BECOMES, EXIT RANGE).

Оценка состояния зависит от:

  • Обнаружение разностных данных: отслеживает изменения между предыдущими и текущими значениями событий.
  • Темпоральная последовательность: оценивает условия на основе времени, такие как отсутствие событий (обнаружение пульса).
  • Переходы состояния: правила запускаются только при входе в новое состояние, предотвращая повторное срабатывание в неизменившихся условиях.

Каждое условие правила компилируется в граф выполнения, который система вычисляет непрерывно, в памяти и почти мгновенно. Система оптимизирована для задержки принятия решений на уровне менее одной секунды после прибытия события.

Основные рекомендации по проектированию

  • Логика с отслеживанием состояния и фильтрация без отслеживания состояния — фильтры без отслеживания состояния (например, value < 5) могут быть слишком шумными. Предпочитайте переходную логику, такую как DECREASES или BECOMES, чтобы уменьшить количество ложных срабатываний и спам.
  • Кратность ключа объекта — каждый уникальный ключ объекта (например, идентификатор устройства) использует память и отслеживание вычислений. Тщательно профилируйте реализации высокой кардинальности (более 10 000 уникальных объектов) для поддержания производительности.
  • Объединение правил — Активатор поддерживает как логику AND, так и OR. Используйте их для создания деревьев сложного обнаружения (например, температура понижается И состояние становится critical).
  • Управление усталостью оповещений — разработка правил, которые срабатывают только на переходах состояний. Активатор автоматически подавляет повторяемые оповещения, если не введено новое состояние, но хороший дизайн еще больше снижает шум.

Следующий шаг