2.8.10. ダウンストリームフィルタ¶
ダウンストリームフィルタは、ダウンストリームでブローカーからノードに送信するデータを特定するためのフィルタです。 Downstream Open Request にてノードからブローカーへ送信されます。
1つのダウンストリームフィルタは、1つのノードIDと、複数のデータフィルタを持ちます。 ダウンストリームフィルタにもとづいたデータのフィルタリング手順については、 フィルタリングの手順 を参照してください。
なお、データフィルタの配列は、空に指定することができます。 この場合、データはすべて対象外となり、送信元ノードに指定されたノードのメタデータのみがダウンストリームされます。
2.8.10.1. ダウンストリームフィルタの構造¶
和名 |
英名 |
データ型 |
---|---|---|
送信元ノードID |
Source Node ID |
文字列 |
データフィルタ |
Data Filters |
Data Filter の配列 |
- 送信元ノードID - Source Node ID
このフィルタが受信対象とするノードのノードIDです。
- データフィルタ - Data Filters
このフィルタが受信対象とするデータを表すデータフィルタです。 データフィルタはデータIDとほぼ同じ構造を持ちますが、 データタイプおよびデータ名に、後述のワイルドカードを使用することができます。
2.8.10.2. データフィルタの構造¶
データフィルタの構造は、 データID とほぼ同一ですが、 後述の ワイルドカード を使用することができます。
和名 |
英名 |
データ型 |
---|---|---|
名称 |
Name |
文字列 |
型 |
Type |
文字列 |
- 名称 - Name
フィルタに使用する名称です。
- 型 - Type
フィルタに使用する型名です。
2.8.10.3. ワイルドカード¶
ワイルドカードがデータフィルタに使用されている場合、 データ名やデータタイプがデータIDと完全に一致しない場合でも、 所定のルールにしたがってデータIDと一致するとみなすことができます。
2.8.10.3.1. マルチレベルワイルドカード¶
#
は、複数のレベルに一致するワイルドカードです。
マルチレベルワイルドカードは、それ単独で使用するか、もしくは、セパレータの直後に使用する必要があります。
また、マルチレベルワイルドカードより後に他の文字列を続けてはいけません( MUST NOT )。
2.8.10.3.2. 単一レベルワイルドカード¶
+
は、単一のレベルのみに一致するワイルドカードです。
単一レベルワイルドカードは、最初と最後のレベルを含む、任意のレベルで使用できます。
使用する場合は、同じレベルに他の文字を含んではいけません( MUST NOT )。
複数のレベルで使用することができ、マルチレベルワイルドカードと同時に使用することも可能です。
2.8.10.4. フィルタリングの手順¶
2.8.10.4.1. データポイントのフィルタリング¶
まず、ダウンストリームフィルタの送信元ノードIDで指定されたノードが送信元となるデータポイントは、下り方向への送信対象候補となります。 それ以外のデータポイントは送信対象外としてフィルタリングされます。
次に、データフィルタで指定されたデータIDに一致するデータIDを持つデータポイントは、下り方向への送信対象となります。 それ以外のデータポイントは送信対象外としてフィルタリングされます。
2.8.10.4.2. メタデータのフィルタリング¶
ダウンストリームフィルタの送信元ノードIDで指定されたノードが送信元となるメタデータは、下り方向への送信対象となります。 それ以外のメタデータは送信対象外としてフィルタリングされます。