次の方法で共有


Azure IoT Operations でデータフローを構成する

重要

Azure Arc によって実現されている Azure IoT Operations プレビューは、現在プレビュー段階です。 運用環境ではこのプレビュー ソフトウェアを使わないでください。

Azure IoT Operations の一般公開リリースが提供されたときには、新規インストールをデプロイすることが必要になります。 プレビュー インストールからのアップグレードはできません。

ベータ版、プレビュー版、または一般提供としてまだリリースされていない Azure の機能に適用される法律条項については、「Microsoft Azure プレビューの追加使用条件」を参照してください。

データフローとは、データがソースから宛先までたどるパスであり、必要に応じて変換が行われます。 データフローを構成するには、Dataflow カスタム リソースを作成するか、Azure IoT Operations Studio ポータルを使用します。 データフローは次の 3 つの部分で構成されます: ソース変換宛先

ソースから変換、次に宛先までのフローを示すデータフローのダイアグラム。

ソースと宛先を定義するには、データフロー エンドポイントを構成する必要があります。 変換は省略可能であり、データのエンリッチメント、データのフィルター処理、データの別のフィールドへのマッピングなどの操作を含めることができます。

この記事では、ソース、変換、宛先を含め、例を使用してデータフローを作成する方法について説明します。

前提条件

データフローを作成する

データフロー エンドポイントを作成したら、それらを使用してデータフローを作成できます。 データフローは、ソース、変換、宛先の 3 つの部分で構成されていることを思い出してください。

操作エクスペリエンス ポータルでデータフローを作成するには、[データフロー]>[データフローを作成する] を選択します。

操作エクスペリエンス ポータルを使用してデータフローを作成するスクリーンショット。

データフローの操作の種類を構成する方法については、以下のセクションを参照してください。

データを取得するデータフロー エンドポイントを使用してソースを構成する

データフローのソースを構成するには、エンドポイント参照とデータ ソースを指定します。 エンドポイントのデータ ソースの一覧を指定できます。

ソースとして資産を使用する

資産をデータフローのソースとして使用できます。 これは、操作エクスペリエンス ポータルでのみ利用可能です。

  1. [ソースの詳細] で、[資産] を選択します。

  2. ソース エンドポイントとして使用する資産を選択します。

  3. [続行] を選択します。

    選択した資産のデータポイントの一覧が表示されます。

    操作エクスペリエンス ポータルを使用して資産をソース エンドポイントとして選択するスクリーンショット。

  4. [適用] を選択して、資産をソース エンドポイントとして使用します。

ソースとして MQTT を使用する

  1. [ソースの詳細] で、[MQTT] を選択します。

  2. 受信メッセージをリッスンする MQTT トピックを入力します。

  3. ドロップダウン リストからメッセージ スキーマを選択するか、新しいスキーマをアップロードします。 ソース データに省略可能なフィールドや、さまざまな型を持つフィールドがある場合は、一貫性を保つために逆シリアル化スキーマを指定します。 たとえば、データに、すべてのメッセージに存在するわけではないフィールドがあるとします。 スキーマがないと、これらのフィールドは空の値を持つため、変換ではこれらを処理できません。 スキーマがあれば、既定値を指定することも、フィールドを無視することもできます。

    操作エクスペリエンス ポータルを使用して MQTT をソース エンドポイントとして選択するスクリーンショット。

  4. 適用を選択します。

データを処理する変換を構成する

変換操作では、宛先に送信する前にソースからのデータを変換できます。 変換は省略可能です。 データを変更する必要がない場合は、データフロー構成に変換操作を含めないでください。 複数の変換は、構成で指定した順序に関係なく、段階的に連結されます。 ステージの順序は常に次のようになります。

  1. エンリッチ: 一致するデータセットと条件を指定して、ソース データにデータを追加します。
  2. フィルター: 条件に基づいてデータをフィルター処理します。
  3. マップ: 省略可能な変換を使用して、あるフィールドから別のフィールドにデータを移動します。

操作エクスペリエンス ポータルで、[データフロー]>[変換の追加 (省略可能)] を選びます。

操作エクスペリエンス ポータルを使用して変換をデータフローに追加するスクリーンショット。

エンリッチ: 参照データを追加する

データをエンリッチするには、Azure IoT Operations の分散状態ストア (DSS) の参照データセットを使用できます。 データセットは、条件に基づいてソース データにさらにデータを追加するために使用されます。 条件は、データセット内のフィールドと一致するソース データ内のフィールドとして指定されます。

分散状態ストアのキー名は、データフロー構成のデータセットに対応します。

現在、エンリッチ操作は、操作エクスペリエンス ポータルでは使用できません。

DSS セット ツール サンプルを使用して、DSS にサンプル データを読み込むことができます。

条件構文の詳細については、「データフローを使用してデータをエンリッチする」と「データフローを使用したデータの変換」に関する記事を参照してください。

フィルター: 条件に基づいてデータをフィルター処理する

条件に基づいてデータをフィルター処理するには、filter ステージを使用できます。 条件は、値と一致するソース データ内のフィールドとして指定されます。

  1. [変換 (省略可能)] で、[フィルター]>[追加] を選びます。

  2. データセットに含めるデータポイントを選択します。

  3. フィルター条件と説明を追加します。

    操作エクスペリエンス ポータルを使ってフィルター変換を追加するスクリーンショット。

  4. 適用を選択します。

マップ: あるフィールドから別のフィールドにデータを移動する

省略可能な変換を使用してデータを別のフィールドにマップするには、map 操作を使用できます。 変換は、ソース データのフィールドを使用する数式として指定されます。

操作エクスペリエンス ポータルでは、現在、コンピューティング変換を使用したマッピングがサポートされています。

  1. [変換 (省略可能)] で、[コンピューティング]>[追加] を選びます。

  2. 必須フィールドと式を入力します。

    操作エクスペリエンス ポータルを使ってコンピューティング変換を追加するスクリーンショット。

  3. 適用を選択します。

詳細については、「データフローを使用してデータをマッピングする」と「データフローを使用したデータの変換」に関する記事を参照してください。

スキーマに従ってデータをシリアル化する

データを宛先に送信する前にシリアル化する場合は、スキーマとシリアル化形式を指定する必要があります。 それ以外の場合は、データは推論された型を使用して JSON でシリアル化されます。 Microsoft Fabric や Azure Data Lake などのストレージ エンドポイントでは、データの一貫性を確保するためにスキーマが必要です。

宛先データフロー エンドポイントを追加するときに、出力スキーマを指定します。

サポートされているシリアル化形式は、JSON、Parquet、Delta です。

データを送信するデータフロー エンドポイントを使用して宛先を構成する

データフローの宛先を構成するには、エンドポイント参照とデータ宛先を指定します。 MQTT トピックまたは Kafka トピックである、エンドポイントのデータ宛先の一覧を指定できます。

  1. 宛先として使用するデータフロー エンドポイントを選択します。

    操作エクスペリエンス ポータルを使用して Event Hubs 宛先エンドポイントを選択するスクリーンショット。

  2. [続行] を選択して、宛先を構成します。

  3. 宛先の種類に基づいてマッピングの詳細を追加します。

データフローが機能していることを確認する

チュートリアル: Azure Event Grid への双方向 MQTT ブリッジ」に従って、データフローが機能していることを確認します。

データフロー構成のエクスポート

データフロー構成をエクスポートするには、操作エクスペリエンス ポータルを使用するか、Dataflow カスタム リソースをエクスポートします。

エクスポートするデータフローを選択し、ツール バーから [エクスポート] を選びます。

操作エクスペリエンス ポータルを使用してデータフローをエクスポートするスクリーンショット。