ストリーミング データをアクティベーターに取り込んだり、 イベントをオブジェクトに割り当てたりすると、データに対して動作するルールを作成できます。
ルールは、オブジェクトで検出する条件と、それらの条件が満たされたときに実行するアクションを定義します。 たとえば、フリーザー オブジェクトのルールでは、温度が安全なしきい値を超えたときに検出され、割り当てられた技術者に電子メール アラートが自動的に送信される場合があります。
各アクティベーターには、継続的に評価される 1 つ以上のルールが含まれています。 これらのルールには、単純な比較 (value < threshold) や、 BECOMES、 DECREASES、 INCREASES、 EXIT RANGE、データの有無 (ハートビート) などのステートフルな式を指定できます。 アクティベーターは、各オブジェクトの状態追跡を保証し、時間の経過に伴う複雑なパターン検出を可能にします。
アクション
ルールの条件が満たされ、アクションが開始されると、ルールがアクティブになります。 アクションでサポートされるターゲットは次のとおりです。
ファブリック パイプライン (データ移動、エンリッチメント用)
ファブリック ノートブック (機械学習スコアリング、診断用)
ファブリックのSparkジョブ(バッチおよびストリーミングジョブのための)
ファブリック関数 (コードを使用したカスタム ビジネス ロジック用)
Power Automate フロー (ビジネスプロセスの統合用)
Teams の通知 (テンプレート ベースのメッセージングを使用)
メール通知
ルールには、イベントに関するルール、オブジェクトに追加するイベントのルール、およびオブジェクトのプロパティに関するルールの 3 種類があります。
イベントのルールを作成する
イベントに関するルールを作成すると、イベントストリームに入ってくるすべてのイベントに対してアクティブ化が行われます。 これらのルールを使用すると、時間の経過に伴う何かの状態を追跡できます。 例えば:
- 1 つの IoT センサーからの読み取り値を持つイベントストリームで新しいイベントが発生するたびにアラートが表示されます。
- 新しいイベントが発生するたびにアラートが表示され、そのイベント内の列の値が定義された条件を満たします。
オブジェクト イベントのルールを作成する
ストリーミング データからオブジェクトを作成し、1 つ以上のストリームで一意の列を使用してオブジェクトを識別します。 オブジェクトにバンドルする特定の列と一意の列を選択します。 次に、イベントの到着に関するルールを作成する代わりに、イベントを監視し、そのオブジェクトの到着または定義された条件を満たすオブジェクトの到着を報告するルールを作成します。 ルールは、eventstream オブジェクトで新しいイベントが発生するたびにアクティブになります。 また、どのインスタンスに入ってきたかを識別することもできます。
プロパティに対するルールを作成する
時間の経過と同時にオブジェクトのプロパティを監視するプロパティに関するルールを作成します。 オブジェクトのプロパティの状態を監視する場合は、プロパティにルールを作成します。 たとえば、パッケージの温度と、その温度が時間の経過と同時に設定範囲内に留まるようにするかどうかを監視できます。
ステートレスルールとステートフルルール
Activator のルールは、ステートレスまたはステートフルにすることができます。
-
ステートレス ルール は、各イベントを分離して評価します (たとえば、
value < 50)。 -
ステートフル ルール は、オブジェクトごとのイベント間でメモリを維持します (たとえば、
value DECREASES、BECOMES、EXIT RANGE)。
ステートフル評価は次の事項に依存します。
- 差分検出: 以前のイベント値と現在のイベント値の間の変更を追跡します。
- 一時的なシーケンス処理: イベントがない (ハートビート検出) などの時間ベースの条件を評価します。
- 状態遷移: ルールは新しい状態に入ったときにのみ発生し、変更されていない条件での繰り返しの発生を防ぎます。
各ルール条件は、システムが継続的、メモリ内、ほぼ瞬時に評価する実行グラフにコンパイルされます。 システムは、イベント到着後の 1 秒未満の意思決定待ち時間に最適化されています。
設計に関する主な考慮事項
-
ステートフル ロジックとステートレス フィルター - ステートレス フィルター (たとえば、
value < 5) がノイズが多すぎる可能性があります。 誤検知やスパムを減らすには、DECREASESやBECOMESなどの移行ロジックを使用します。 - オブジェクト キーのカーディナリティ - 各一意のオブジェクト キー (デバイス ID など) は、メモリとコンピューティングの追跡を使用します。 パフォーマンスを維持するために、カーディナリティの高い実装 (10,000 を超える一意のオブジェクト) を慎重にプロファイリングします。
-
ルールの組み合わせ - アクティベーターは、AND ロジックと OR ロジックの両方をサポートします。 これらを使用して、複雑な検出ツリーを構築します (たとえば、温度の低下と状態が
criticalになります)。 - アラート疲労の管理 - エッジ遷移のみで発動するルールを設計します。 アクティベーターは、新しい状態に入らない限り、繰り返しアラートを自動的に抑制しますが、優れた設計によりノイズがさらに低減されます。
次の手順
アクティベーター ルール を作成する