Share via


IoT ソリューションでのメッセージ処理

この概要では、一般的な Azure IoT ソリューションでデバイスから送信されたメッセージの処理に関する主要な概念について説明します。 各セクションには、追加の詳細とガイダンスを提供するコンテンツへのリンクが含まれています。

一般的な IoT ソリューションのコンポーネントの概要を次の図に示します。 この記事では、IoT ソリューションのメッセージ処理のコンポーネントに焦点を当てています。

Diagram that shows the high-level IoT solution architecture highlighting message processing areas.

Azure IoT では、メッセージ処理とは、デバイスによって送信されるテレメトリ メッセージのルーティングやエンリッチメントなどの処理を指します。 これらの処理は、IoT ソリューションを介したメッセージのフローを制御し、メッセージに追加情報を追加するために使用されます。

メッセージをルーティングする

IoT ハブでは、デバイスが送信するテレメトリ メッセージのクラウド エントリ ポイントが提供されます。 一般的な IoT ソリューションでは、これらのメッセージは保存または分析のために他のダウンストリーム サービスに配信されます。

IoT Hub のルーティング

IoT ハブでは、任意の宛先にテレメトリ メッセージを配信するようにルーティングを構成できます。 宛先には以下のものが含まれます。

  • ストレージ コンテナー
  • Service Bus キュー
  • Service Bus トピック
  • Event Hubs

すべての IoT ハブには、"組み込み" エンドポイントと呼ばれる既定の宛先があります。 ダウンストリーム サービスでは、組み込みのエンドポイントに接続して、IoT ハブからメッセージを受信できます。

詳細については、「IoT Hub メッセージ ルーティングを使用して device-to-cloud メッセージを別のエンドポイントに送信する」を参照してください。

クエリを使用して、さまざまな宛先に送信されたメッセージをフィルター処理できます。

IoT Central のルーティング

IoT Central を使用している場合は、データ エクスポートを使用して、テレメトリ メッセージを他のダウンストリーム サービスに送信できます。 宛先には以下のものが含まれます。

  • ストレージ コンテナー
  • Service Bus キュー
  • Service Bus トピック
  • Event Hubs
  • Azure Data Explorer
  • Webhooks

IoT Central のデータ エクスポート構成を使用すると、宛先に送信されたメッセージをフィルター処理できます。

詳細については、IoT Central からのデータのエクスポートに関する記事を参照してください。

Event Grid

IoT Hub には、Azure Event Grid との統合が組み込まれています。 IoT ハブでは、デバイスからテレメトリ メッセージを受信するたびにイベントを発行できます。 Event Grid を使用して、これらのイベントを他のサービスにルーティングできます。

詳細については、「Event Grid を使用し IoT Hub のイベントに対応してアクションをトリガーする」と「IoT Hub のメッセージ ルーティングと Event Grid の比較」を参照してください。

メッセージをエンリッチまたは変換する

ダウンストリーム処理を簡略化するために、テレメトリ メッセージにデータを追加したり、その構造を変更したりすることができます。

IoT Hub のメッセージ エンリッチメント

IoT Hub のメッセージ エンリッチメントを使用すると、デバイスから送信されたメッセージにデータを追加できます。 以下を追加できます。

  • 静的な文字列
  • メッセージを処理する IoT ハブの名前
  • デバイス ツインからの情報

詳細については、「device-to-cloud IoT Hub のメッセージ エンリッチメント」を参照してください。

IoT Central のメッセージ変換

IoT Central には、テレメトリ メッセージを変換するための 2 つのオプションがあります。

  • マッピングを使用して、複雑なデバイス テレメトリを IoT Central 内部の構造化データに変換します。
  • 変換を使用して、デバイス データを宛先にエクスポートする前に、その形式と構造を操作します。

エッジでメッセージを処理する

Azure IoT Edge モジュールでは、接続されているセンサーまたはデバイスからのテレメトリを IoT ハブに送信される前に処理できます。 たとえば、クラウドにデータを送信する前に、IoT Edge モジュールでは次のことができます。

その他のクラウド サービス

他の Azure サービスを使用して、デバイスからのテレメトリ メッセージを処理できます。 IoT Hub と IoT Central の両方で、メッセージを他のサービスにルーティングできます。 たとえば、テレメトリ メッセージを次のものに転送できます。

Azure Stream Analytics は、大量のストリーミング データを分析し、処理するように設計されたマネージド ストリーム処理エンジンです。 Stream Analytics では、データ内のパターンを識別して、アラートの作成、レポート ツールへの情報の送信、変換されたデータの保存などのアクションをトリガーできます。 Stream Analytics は Azure IoT Edge ランタイムでも使用でき、クラウドではなくエッジでデータを処理できます。

Azure Functions は、イベントに応答してコードを実行することができるサーバーレス コンピューティング サービスです。 Azure Functions を使用すると、デバイスからのテレメトリ メッセージを処理できます。

詳細については、以下をご覧ください。

次のステップ

Azure IoT ソリューションでのデバイスの管理と制御について概要を確認したので、推奨される手順を次にいくつか示します。