この記事では、ルールを作成するときに使用できる検出設定の範囲について説明します。 Fabric Activator での検出設定の動作と、それらを効果的に構成する方法について説明します。 さまざまな検出設定が連携して、ユーザーが追跡しようとしているデータを正確に特定します。
この記事の例では、 パッケージ配信イベント のサンプル イベントストリームを使用します。 具体的には、温度属性とチュートリアルで作成された医療用温度制限ルールを参照します。
検出設定のオプション
検出設定は、Activator の右側に表示される [定義 ] ウィンドウで構成します。 左側の エクスプローラー ウィンドウでルールを選択すると、ウィンドウが開きます。 概要、条件、およびプロパティ フィルターの検出設定は連携して、ルールをトリガーするデータ イベントを正確に定義します。 各設定については、以降のセクションで説明します。
次の図は、[温度] 属性の検出設定が表示された [定義] ウィンドウを、薬には暑すぎる ルールと共に示しています。
概要
要約により、未処理のイベントのストリームが、一定期間内の単一の計算値に変換されます。 集計の種類 (操作)、 ウィンドウ サイズ、 ステップ サイズで構成されます。 集計は、ルールが個々のイベントではなく、時間の経過に伴う傾向またはパターンに応答する必要がある場合に便利です。
ウィンドウ サイズは、各計算の時間をどの程度戻るかを定義します。 たとえば、ウィンドウ サイズが 1 時間の場合、各集計値は直近の 1 時間のイベントから計算されます。 ステップ サイズは、ウィンドウが進む頻度を制御し、新しい集計値を計算します。 たとえば、ステップ サイズが 15 分の場合、新しい集計値が 15 分ごとに生成されます。 両方の値の範囲は 10 秒から 24 時間です。
次の表では、使用可能な集計の種類について説明します。
| 集約 | 説明 |
|---|---|
| 平均 | その時間枠について、プロパティまたは列の平均値を計算します。 |
| 最低限 | 時間枠内のプロパティまたは列の最小値を計算します。 |
| 最大値 | 時間枠内のプロパティまたは列の最大値を計算します。 |
| 合計 | 時間枠内のプロパティまたは列の値の合計を計算します。 |
| トータル | その時間枠について、プロパティまたは列を含むイベントの数を計算します。 プロパティの値を加算する Sum とは異なり、 Total は発生したイベントの数をカウントします。 |
条件
条件は、アクティベーターがルールをアクティブ化するためにデータ内で検出する必要があるパターンを定義します。 条件はデータ型によってグループ化され、各グループにはさまざまな種類の変更または状態を記述する条件の種類が含まれます。
次の図と表は、ドロップダウンで使用できる条件カテゴリを示しています。
| カテゴリ | 説明 |
|---|---|
| 数値の変更 | 数値がしきい値に対して相対的に変化した場合にアクティブ化される条件 ( [上へ増加] や [下へ減少] など)。 これらの条件を使用して、数値データの方向の傾向を検出します。 |
| 数値の状態 | 数値が特定の状態にある場合にアクティブにする条件 ( Is greater than、 Is less than、 Is between など)。 ルールは、条件が true であるイベントごとにアクティブになります。 |
| テキストの変更 | テキスト値が特定の値に変更されたときや、特定の値から変更されたときにアクティブ化される条件(これに変更またはこれから変更など)。 |
| テキストの状態 | Contains、Begins with、Ends with などのように、テキスト値がパターンに一致したときにアクティブ化される条件。 |
| 論理的な変更 | ブール値が状態を変更したときにアクティブにする条件。 true に設定すると 、値が false から true に変わるとアクティブになります。 値が true から false に変わると、false がアクティブになります。 |
| 論理状態 | ブール値が指定された状態と一致する各イベントに対してアクティブ化される条件。 「等しい」と「等しくない」は 値を true または false と比較します。 |
| 一般的な変更 | 属性値が変更されたときにアクティブ化します。 Changes 条件はデータ型全体に適用され、特定のしきい値またはターゲット値はありません。 |
| Heartbeat | イベント到着に基づく条件。 指定した時間内に新しいイベントが到着しない場合、データが存在しないことがアクティブになります。 オブジェクトの最初の外観 は、特定のオブジェクト ID がイベント ストリームに初めて表示された時点でアクティブになります。 |
発生
条件の種類によっては、ルールをアクティブ化する前に条件が true である必要がある期間または回数を制御する [発生 ] フィールドが表示されます。 たとえば、少なくとも 10 分間、温度が 100 度を超える場合にのみ警告を表示する場合は、条件を 100 より大きい 状態に設定し、発生回数を [10 分間 true の場合 ] に設定します。 次の表では、使用可能な出現オプションについて説明します。
| 発生 | 説明 |
|---|---|
| 条件が満たされるたびに | ルールは、条件が true のたびにアクティブになります。 |
| それがn回当てはまるとき | ルールは、指定された回数だけ条件が true に設定された後にのみアクティブになります。 |
| それが当てはまるとき | ルールがアクティブになるのは、指定した期間に条件が継続的に true のままである場合のみです。 |
プロパティ フィルター
[プロパティ フィルター] セクションでは、データのサブセットに条件が作成され、ルールで評価されるイベントが制限されます。 アクティベーターは、数値、テキスト、ブール値など、あらゆる種類の属性に対するプロパティ フィルターをサポートします。
各フィルターは、 属性、 操作、および値を指定 します。 フィルターを満たすイベントのみがルール条件に渡されます。 その他のイベントはすべて除外されます。
たとえば、この画像は、Temperature (°C) 属性に対して、操作 が より大きい かどうかを指定し、値 が 0 であるフィルターを示しています。 このフィルターは、Temperature が 0 以下のすべてのイベントを除外します。 もう 1 つの例は、 属性 が City に設定され、 Operationが等しく、 値 が Redmond であるテキスト フィルターです。ルールの評価は、パッケージが Redmond にあるイベントに限定されます。
1 つのルールに最大 3 つのフィルターを適用できます。 複数のフィルターを適用する場合、イベントは評価されるイベントのすべてのフィルターを満たす必要があります。 フィルターは AND ロジックと組み合わされます。
詳細設定
[定義] ウィンドウの [詳細設定] セクションには、検出ロジックではなく、ルールの評価精度に影響するタイミング設定が含まれています。 遅延イベントの待機時間設定では、遅延イベントの到着を許可するために、Activator が評価ウィンドウを開いたままにする時間を制御します。 詳細については、「 アクティベータの待機時間」を参照してください。