データ プロセッサで参照データセットを構成する
重要
Azure Arc によって有効にされる Azure IoT Operations Preview は、 現在プレビュー段階です。 運用環境ではこのプレビュー ソフトウェアを使わないでください。
一般公開リリースが利用可能になった場合は、新しい Azure IoT Operations インストールをデプロイする必要があります。プレビュー インストールをアップグレードすることはできません。
ベータ版、プレビュー版、または一般提供としてまだリリースされていない Azure の機能に適用される法律条項については、「Microsoft Azure プレビューの追加使用条件」を参照してください。
データ プロセッサ ストア内の参照データセットは、パイプラインがエンリッチメントとコンテキスト化に使用できる参照データを格納します。 参照データ ストア内のデータは、それぞれ複数のキーを持つデータセットに編成されます。
前提条件
- オプションのデータ プロセッサ コンポーネントを含むデータ プロセッサのデプロイされたインスタンス。
- 受信データを逆シリアル化する入力ステージを含むデータ プロセッサ パイプライン。
参照データ ストアの構成
データセットをデータ ストアに追加するには、次の 2 つのオプションがあります。
- パイプライン構成ページの [Reference datasets] タブを選択します。
- パイプラインの出力ステージで変換先の種類が [Reference datasets] と選択されている場合は、[新規作成] を選択します。
フィールド | Description | 必須 | 例 |
---|---|---|---|
名前 | データセットの名前。 | はい | mes-sql |
説明 | データセットの説明。 | いいえ | erp data |
Payload | データセットに格納するメッセージ内のデータへのパス | いいえ | .payload |
期限切れ日時 | 取り込まれた各メッセージに適用される参照データの有効期間。 | いいえ | 12h |
Timestamp | jq パスは、参照データのタイムスタンプ フィールド用です。 このフィールドは、エンリッチ ステージのタイムスタンプベースの結合に使用されます。 | いいえ | .payload.saptimestamp |
キー | 次の表のキーの構成を参照してください。 |
参照されるタイムスタンプは、RFC3339、ISO 8601、または Unix のタイムスタンプ形式である必要があります。
既定では、データセットの有効期限は 24h
に設定されます。 この既定値により、24 時間を超えて古いデータがエンリッチされたり (データが更新されていない場合)、データが無制限に増えてディスクがいっぱいになったりすることがなくなります。
各キーには次のものが含まれます。
フィールド | Description | 必須 | [選択] | 例 |
---|---|---|---|---|
プロパティ名 | キーの名前。 このキーは、エンリッチ ステージでの名前ベースの結合に使用されます。 | いいえ | なし | assetSQL |
[プロパティのパス] | メッセージ内のキーへの jq パス | いいえ | なし | .payload.unique_id |
主キー | プロパティが主キーであるかどうかを判断します。 取り込まれたデータをデータセットに更新または追加するために使用されます。 | いいえ | Yes /No |
Yes |
データセット内のキーは必要ありませんが、データセットを最新の状態に保つために推奨されます。
重要
.payload
が jq パスに自動的に追加されます。 参照データは、メッセージの .payload
オブジェクト内にのみデータを格納します。 .payload
プレフィックスを除いたパスを指定します。
ヒント
データセットをクラスターにデプロイし、データセット リスト ビューに表示されるまで、数秒かかります。
次の注意事項は、前の表のデータセット構成オプションに関連するものです。
- プロパティ名は大文字と小文字が区別されます。
- データセットごとに最大 10 個のプロパティを持つことができます。
- 各データセットで選択できる主キーは 1 つだけです。
- 文字列は、データセット キー値に有効な唯一のデータ型です。
- 主キーは、取り込まれたデータを更新またはデータセットに追加するために使用されます。 同じ主キーを持つ新しいメッセージが受信されると、前のエントリが更新されます。 主キーに新しい値が入力されると、その新しいキーおよび関連する値がデータセットに追加されます。
- 参照データセットのタイムスタンプは、エンリッチ ステージのタイムスタンプベースの結合条件に使用されます。
- 変換ステージを使用すると、ペイロード オブジェクトにデータを転送できます。参照データセットがメッセージの
.payload
オブジェクト内のデータのみを格納し、関連付けられているメタデータを除外するためです。
データセットの表示
使用可能なデータセットを表示するには
- パイプライン エディター エクスペリエンスで [Reference datasets] を選択します。 使用可能なすべてのデータセットの一覧は、[Reference datasets] ビューに表示されます。
- データセット キーやタイムスタンプなどの構成の詳細を表示するデータセットを選択します。
例
この例は、複数の機器が異なる場所に設置されている製造施設の概要を示しています。 ERP システムは、設備を追跡し、データをデータベースに格納し、各機器の詳細 (名前、場所、設置日、および予備機器であるかどうかを示すブール値) を記録します。 次に例を示します。
備品 | location | installationDate | isSpare |
---|---|---|---|
Oven | シアトル | 3/5/2002 | FALSE |
Mixer | Tacoma | 11/15/2005 | FALSE |
スライサー | シアトル | 4/25/2021 | TRUE |
この ERP データは、各場所から取得される時系列データのコンテキスト データの便利なソースです。 このデータをデータ プロセッサに送信して参照データセットに格納し、それを使用して他のパイプラインのメッセージをエンリッチすることができます。
Microsoft SQL Server などのデータベースからデータ プロセッサにデータを送信すると、処理できる形式に逆シリアル化されます。 次の JSON は、データ プロセッサ内のデータベースからのデータを表すペイロードの例を示しています。
{
"payload": {
{
"equipment": "Oven",
"location": "Seattle",
"installationDate": "2002-03-05T00:00:00Z",
"isSpare": "FALSE"
},
{
"equipment": "Mixer",
"location": "Tacoma",
"installationDate": "2005-11-15T00:00:00Z",
"isSpare": "FALSE"
},
{
"equipment": "Slicer",
"location": "Seattle",
"installationDate": "2021-04-25T00:00:00Z",
"isSpare": "TRUE"
}
}
}
参照データセットには、次の構成を使用します。
フィールド | 例 |
---|---|
名前 | equipment |
Timestamp | .installationDate |
期限切れ日時 | 12h |
2 つのキー:
フィールド | 例 |
---|---|
プロパティ名 | equipment name |
[プロパティのパス] | .equipment |
主キー | はい |
フィールド | 例 |
---|---|
プロパティ名 | location |
[プロパティのパス] | .location |
主キー | いいえ |
各データセットには主キーが 1 つだけあります。
パイプライン内のすべての受信データは、参照データ ストアの equipment
データセットに格納されます。 格納されたデータには、installationDate
タイムスタンプと、equipment name
や location
などのキーが含まれます。
これらのプロパティは、他のパイプラインのエンリッチメント ステージで使用できます。これらのプロパティを使用してコンテキストを提供し、処理中のメッセージに追加情報を付け足すことができます。 たとえば、このデータを使用して、特定の機器からのセンサーの読み取り値およびその設置日と場所を補完できます。 詳細については、エンリッチ ステージを参照してください。
equipment
データセット内では equipment name
キーが主キーとして機能します。 パイプラインが新しいデータを取り込むとき、データ プロセッサはこのプロパティをチェックして、受信データの処理方法を決定します。
- データセットにまだ存在しない
equipment name
キー (Pump
など) を含むメッセージが届いた場合、データ プロセッサはデータセットに新しいエントリを追加します。 このエントリには、新しいequipment name
型とそれに関連付けられたデータ (location
、installationDate
、isSpare
など) が含まれます。 - データセット内の既存のエントリ (
Slicer
など) と一致するequipment name
キーを持つメッセージが到着した場合、データ プロセッサはそのエントリを更新します。location
、installationDate
、isSpare
など、その機器に関連付けられているデータは、受信メッセージの値で更新されます。
参照データ ストアの equipment
データセットは、 Enrich
ステージを使用して、データ プロセッサ内の他のパイプラインを通過するデータを拡張およびコンテキスト化できる、最新の情報ソースです。