この概要では、一般的な Azure IoT ソリューションで資産とデバイスから送信されたメッセージの処理に関する主要な概念について説明します。 各セクションには、追加の詳細とガイダンスを提供するコンテンツへのリンクが含まれています。
次の図は、一般的な エッジベースの IoT ソリューションのコンポーネントの概要を示しています。 この記事では、エッジベースの IoT ソリューションのメッセージ処理コンポーネントについて説明します。
Azure IoT では、メッセージ処理とは、資産やデバイスによって送信されたメッセージのルーティングやエンリッチメントなどのプロセスを指します。 これらのプロセスは、IoT ソリューションを介してメッセージのフローを制御し、メッセージに追加情報を追加するために使用されます。
メッセージのルーティング
資産からさまざまなエンドポイントにメッセージをルーティングするために、Azure IoT Operations では データ フローが使用されます。 宛先エンドポイントは、クラウドまたはエッジにある可能性があります。 使用可能な宛先エンドポイントの一覧には、次のものが含まれます。
| エンドポイントの種類 | 説明 |
|---|---|
| MQTT | MQTT ブローカー (Azure IoT Operations および Event Grid に組み込まれているものを含む) を使用した双方向メッセージングの場合。 |
| カフカ | Kafka ブローカー (Azure Event Hubs を含む) を使用した双方向メッセージングの場合。 |
| Data Lake | データを Azure Data Lake Gen2 ストレージ アカウントにアップロードする場合。 |
| Microsoft Fabric OneLake | データを Microsoft Fabric OneLake レイクハウスにアップロードする場合。 |
| Azure Data Explorer | Azure Data Explorer データベースにデータをアップロードする場合。 |
| ローカル ストレージ | ローカルで使用可能な永続ボリュームにデータを送信する場合は、必要に応じて Azure Arc で Azure Container Storage を有効にして構成できます。 |
操作エクスペリエンス Web UI は、データ フローを構築して実行するためのコードなしの環境を提供します。
エンドポイントにルーティングされるデータのセキュリティを強化するために、クラウド/エッジ 同期シークレット は認証用のデータ フロー エンドポイントで使用されます。
データ フローではエッジでルーティングを構成できますが、クラウドでルーティングを定義することもできます。 データ フローが Azure Event Grid にメッセージを配信する場合は、そのルーティング機能を使用して、メッセージを送信する場所を決定できます。
詳細については、「 データ フローを使用したデータの処理とルーティング」を参照してください。
メッセージのエンリッチ、変換、および処理
エンリッチメントと変換は、処理ステージ中にデータに適用して、さまざまな操作を実行できます。 この操作には、次のものが含まれます。
- 新しいプロパティの計算: メッセージ内の既存のプロパティに基づく
- プロパティの名前を変更する: データを標準化または明確化するには
- 単位の変換: 値を別の測定単位に変換する
- 値を標準化する: プロパティ値をユーザー定義範囲にスケーリングする
- データのコンテキスト化: メッセージに参照データを追加してエンリッチメントを行い、分析情報を促進する
スキーマ レジストリには、資産からのメッセージのスキーマが格納されます。 データ フローでは、これらのメッセージ スキーマを使用してさまざまな形式のメッセージをデコードし、データ フローで処理できるようにします。
操作エクスペリエンス Web UI では、データ フローで変換をビルドして実行するためのコードなしの環境が提供されます。
詳細については、「 データ フローを使用してデータをエンリッチする」を参照してください。
Azure IoT Operations では、独自の高可用性エッジ アプリケーションを Kubernetes クラスターにデプロイできます。 エッジ アプリケーションは、組み込みの MQTT ブローカーと対話して、次のことができます。
- MQTT メッセージでカスタム メッセージ処理ロジックを使用します。
- エッジで実行するカスタム アプリケーション ロジックを構築します。
- Edge AI モデルを実行して、データ生成元でリアルタイムのデータ処理と意思決定を行い、待機時間と帯域幅の使用量を削減します。
詳細については、 Azure IoT Operations MQTT ブローカーの高可用性アプリケーションの開発に関するページを参照してください。
その他のクラウド サービス
他のクラウド サービスを使用して、資産やデバイスからのメッセージを処理できます。
Azure IoT Operations のデータ フロー エンドポイントを使用すると、クラウド サービスに接続して、資産からデータを送受信できます。 データ フロー エンドポイントとは、データ フローの接続ポイントです。
詳細については、以下をご覧ください。
IoT Hub と IoT Central では、他のサービスにメッセージをルーティングできます。 たとえば、大量のストリーミング データを分析して処理するために Azure Stream Analytics にメッセージを転送したり、イベントに応答してコードを実行したりするために Azure Functions にメッセージを転送できます。 Stream Analytics は Azure IoT Edge ランタイムでも使用でき、クラウドではなくエッジでデータを処理できます。
詳細については、以下をご覧ください。
- Azure Functions 用の Azure IoT Hub バインド
- Power BI を使用して Azure IoT Hub からのリアルタイム センサー データを視覚化する
- Stream Analytics、Azure Functions、SendGrid を使用してカスタム ルールを使用して Azure IoT Central を拡張する