リファレンス - IoT Hub エンドポイント

注意

この記事で言及されている一部の機能 (cloud-to-device メッセージング、デバイス ツイン、デバイス管理など) は、IoT Hub の Standard レベルだけで使用することができます。 IoT Hub の Basic レベルおよび Standard レベルの詳細については、適切な IoT Hub レベルの選び方に関するページを参照してください。

IoT Hub 名

ポータルのハブの [概要] ページで、エンドポイントをホストしている IoT ハブのホスト名を検索できます。 既定では、IoT Hub の DNS 名は {your iot hub name}.azure-devices.net のようになります。

IoT Hub の組み込みエンドポイントの一覧

Azure IoT Hub はさまざまなアクターに機能を公開するマルチテナント サービスです。 次の図は、IoT Hub が公開しているさまざまなエンドポイントを示します。

IoT Hub エンドポイント

次の一覧では、エンドポイントについて説明します。

  • リソースプロバイダー。 IoT Hub リソース プロバイダーでは、Azure Resource Manager インターフェイスが公開されています。 Azure サブスクリプションの所有者は、IoT Hub の作成と削除や IoT Hub プロパティの更新などを、このインターフェイスで行うことができます。 IoT Hub のプロパティでは、ハブレベルのセキュリティ ポリシー (デバイスレベルのアクセス制御ではありません) と、Cloud-to-device (クラウドからデバイス) と Device-to-cloud (デバイスからクラウド) のメッセージング機能のオプションを管理します。 また、IoT Hub リソースプロバイダーにより、デバイス ID をエクスポートすることもできます。

  • デバイス ID の管理。 各 IoT Hub は、デバイス ID の管理 (作成、取得、更新、削除) を行うための、一連の HTTPS REST エンドポイントを公開します。 デバイス IDは、デバイスの認証とアクセス制御に使用されます。

  • デバイス ツインの管理。 各 IoT Hub は、デバイス ツインのクエリと更新 (タグとプロパティの更新) を実行するサービス接続 HTTPS REST エンドポイントを公開します。

  • ジョブの管理。 各 IoT Hub は、ジョブのクエリと管理を実行するサービス接続 HTTPS REST エンドポイントを公開します。

  • デバイスのエンドポイント。 IoT Hub では、ID レジストリ内のデバイスごとに一連のエンドポイントを公開しています。 明記されている場合を除き、これらのエンドポイントは、MQTT v3.1.1、HTTPS 1.1、および AMQP 1.0 の各プロトコルを使用して公開されます。 AMQP および MQTT は、ポート 443 で WebSockets 経由で使用することもできます。

    • D2C メッセージの送信。 デバイスは、このエンドポイントを使用して、デバイスからクラウドへのメッセージを送信します

    • C2D メッセージの受信。 デバイスは、このエンドポイントを使用して、そのデバイスが宛先となっている Cloud-to-device メッセージを受信します。

    • ファイルのアップロードの開始。 デバイスでは、ファイルをアップロードするために、このエンドポイントを使用して、IoT Hub から Azure Storage の SAS URI を受け取ります。

    • デバイス ツインのプロパティを取得して更新します。 デバイスは、このエンドポイントを使用して、そのデバイス ツインのプロパティにアクセスします。 HTTPS はサポートされていません。

    • ダイレクト メソッド要求の受信。 デバイスは、このエンドポイントを使用して、ダイレクト メソッドの要求をリッスンします。 HTTPS はサポートされていません。

    重要

    X.509 証明機関 (CA) の認証を使用するデバイスの次の機能は、まだ一般提供されていません。また、プレビュー モードを有効にする必要があります

    • HTTPS、WebSocket 経由の MQTT、WebSockets プロトコル経由の AMQP。
    • ファイルのアップロード (すべてのプロトコル)。

    これは、X.509 拇印認証を使用するデバイスで一般提供されています。 IoT Hub での X.509 認証の詳細については、「サポートされている X.509 証明書」を参照してください。

  • サービス エンドポイント。 各 IoT Hub では、ソリューション バックエンドに対して一連のエンドポイントを公開し、デバイスと通信を行います。 唯一の例外は、これらのエンドポイントが、AMQP および WebSockets プロトコル経由の AMQP を使用して、公開されるのみの場合です。 ダイレクト メソッド呼び出しのエンドポイントは、HTTPS プロトコル経由で公開されます。

    • D2C メッセージの受信。 このエンドポイントには、Azure Event Hubsとの互換性があります。 バックエンド サービスはこのエンドポイントを使用して、デバイスによって送信されたデバイスからクラウドへのメッセージを読み取ることができます。 この組み込みのエンドポイントに加え、IoT Hub のカスタム エンドポイントを作成することもできます。

    • C2D メッセージの送信と、配信の確認メッセージの受信。 これらのエンドポイントにより、ソリューション バックエンドは、信頼性の高い Cloud-to-device メッセージを送信し、対応する配信または有効期限の確認メッセージを受信できます。

    • ファイル通知の受信。 このメッセージング エンドポイントにより、デバイスがファイルを正常にアップロードしたときに通知を受信できます。

    • ダイレクト メソッドの呼び出し。 このエンドポイントにより、バックエンド サービスがデバイスでダイレクト メソッドを呼び出すことができます。

    • 操作監視イベントの受信。 このエンドポイントでは、IoT hub から出力するように構成されている場合は、操作監視イベントを受信できます。 詳細については、「IoT Hub 操作の監視」を参照してください。

Azure IoT SDK に関する記事で、これらのエンドポイントにアクセスするさまざまな方法が説明されています。

IoT Hub エンドポイントはすべて TLSプロトコルを使用しており、暗号化/セキュリティ保護されていない経路からエンドポイントが公開されることはありません。

カスタム エンドポイント

Azure サブスクリプション内の既存の Azure サービスを IoT ハブにリンクして、メッセージ ルーティング用のエンドポイントとして機能させることができます。 これらのエンドポイントはサービス エンドポイントとして機能し、メッセージ ルートのシンクとして使用されます。 デバイスは、追加のエンドポイントに直接書き込むことはできません。 メッセージ ルーティングについて確認します。

現在、IoT Hub は、追加のエンドポイントとして、次の Azure サービスをサポートします。

  • Azure Storage コンテナー
  • Event Hubs
  • Service Bus キュー
  • Service Bus トピック

追加できるエンドポイントの数の制限については、「クォータと調整」をご覧ください。

エンドポイントの正常性

REST API の Get Endpoint Health を使用して、エンドポイントの正常性状態を取得できます。 エンドポイントの正常性が停止または異常である場合、エンドポイントがこれらの状態にあるときは待機時間が長くなることが予測されるため、ルーティング メッセージ待機時間に関連した IoT Hub ルーティング メトリックを使用して、エラーを識別およびデバッグすることをお勧めします。 IoT Hub メトリックの使用に関する詳細については、IoT Hub の監視に関する記事を参照してください。

正常性状態 説明
healthy エンドポイントは想定どおりにメッセージを受け付けています。
unhealthy エンドポイントはメッセージを受け付けておらず、IoT Hub はこのエンドポイントへのメッセージ送信を再試行しています。
unknown IoT Hub はこのエンドポイントにメッセージを配信しようとしていません。
degraded エンドポイントは、想定より遅くメッセージを受け入れているか、異常な状態から回復中です。
dead IoT Hub は、このエンドポイントにメッセージを配信しなくなりました。 このエンドポイントへのメッセージ送信の再試行に失敗しました。

フィールド ゲートウェイ

IoT ソリューションでは、フィールド ゲートウェイ はデバイスと IoT Hub エンドポイントの間に配置され、 通常はデバイスの近くにあります。 デバイスは、そのデバイスでサポートされているプロトコルを使用してフィールド ゲートウェイと直接通信します。 フィールド ゲートウェイは、IoT Hub でサポートされているプロトコルを使用して IoT Hub エンドポイントに接続します。 フィールド ゲートウェイは、専用のハードウェア デバイス、またはカスタム ゲートウェイ ソフトウェアを実行する低電力コンピューターの場合があります。

Azure IoT Edge を使用してフィールド ゲートウェイを実装できます。 IoT Edge には、同じ IoT Hub 接続上で複数のデバイスからの通信を多重化する機能などが用意されています。

次のステップ

この IoT Hub 開発者ガイド内の他の参照トピックは次のとおりです。