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

注意

この記事で言及されている一部の機能 (cloud-to-device メッセージング、デバイス ツイン、デバイス管理など) は、IoT Hub の Standard レベルだけで使用することができます。Some of the features mentioned in this article, like cloud-to-device messaging, device twins, and device management, are only available in the standard tier of IoT Hub. IoT Hub の Basic レベルおよび Standard レベルの詳細については、適切な IoT Hub レベルの選び方に関するページを参照してください。For more information about the basic and standard IoT Hub tiers, see How to choose the right IoT Hub tier.

IoT Hub 名IoT Hub names

ポータルのハブの [概要] ページで、エンドポイントをホストしている IoT ハブのホスト名を検索できます。You can find the hostname of the IoT hub that hosts your endpoints in the portal on your hub's Overview page. 既定では、IoT Hub の DNS 名は {your iot hub name}.azure-devices.net のようになります。By default, the DNS name of an IoT hub looks like: {your iot hub name}.azure-devices.net.

IoT Hub の組み込みエンドポイントの一覧List of built-in IoT Hub endpoints

Azure IoT Hub はさまざまなアクターに機能を公開するマルチテナント サービスです。Azure IoT Hub is a multi-tenant service that exposes its functionality to various actors. 次の図は、IoT Hub が公開しているさまざまなエンドポイントを示します。The following diagram shows the various endpoints that IoT Hub exposes.

IoT Hub エンドポイント

次の一覧では、エンドポイントについて説明します。The following list describes the endpoints:

  • リソースプロバイダーResource provider. IoT Hub リソース プロバイダーでは、Azure Resource Manager インターフェイスが公開されています。The IoT Hub resource provider exposes an Azure Resource Manager interface. Azure サブスクリプションの所有者は、IoT Hub の作成と削除や IoT Hub プロパティの更新などを、このインターフェイスで行うことができます。This interface enables Azure subscription owners to create and delete IoT hubs, and to update IoT hub properties. IoT Hub のプロパティでは、ハブレベルのセキュリティ ポリシー (デバイスレベルのアクセス制御ではありません) と、Cloud-to-device (クラウドからデバイス) と Device-to-cloud (デバイスからクラウド) のメッセージング機能のオプションを管理します。IoT Hub properties govern hub-level security policies, as opposed to device-level access control, and functional options for cloud-to-device and device-to-cloud messaging. また、IoT Hub リソースプロバイダーにより、デバイス ID をエクスポートすることもできます。The IoT Hub resource provider also enables you to export device identities.

  • デバイス ID の管理Device identity management. 各 IoT Hub は、デバイス ID の管理 (作成、取得、更新、削除) を行うための、一連の HTTPS REST エンドポイントを公開します。Each IoT hub exposes a set of HTTPS REST endpoints to manage device identities (create, retrieve, update, and delete). デバイス IDは、デバイスの認証とアクセス制御に使用されます。Device identities are used for device authentication and access control.

  • デバイス ツインの管理Device twin management. 各 IoT Hub は、デバイス ツインのクエリと更新 (タグとプロパティの更新) を実行するサービス接続 HTTPS REST エンドポイントを公開します。Each IoT hub exposes a set of service-facing HTTPS REST endpoint to query and update device twins (update tags and properties).

  • ジョブの管理Jobs management. 各 IoT Hub は、ジョブのクエリと管理を実行するサービス接続 HTTPS REST エンドポイントを公開します。Each IoT hub exposes a set of service-facing HTTPS REST endpoint to query and manage jobs.

  • デバイスのエンドポイントDevice endpoints. IoT Hub では、ID レジストリ内のデバイスごとに、以下の一連のエンドポイントを公開しています。For each device in the identity registry, IoT Hub exposes a set of endpoints:

    • D2C メッセージの送信Send device-to-cloud messages. デバイスは、このエンドポイントを使用して、デバイスからクラウドへのメッセージを送信しますA device uses this endpoint to send device-to-cloud messages.

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

    • ファイルのアップロードの開始Initiate file uploads. デバイスでは、ファイルをアップロードするために、このエンドポイントを使用して、IoT Hub から Azure Storage の SAS URI を受け取ります。A device uses this endpoint to receive an Azure Storage SAS URI from IoT Hub to upload a file.

    • デバイス ツインのプロパティを取得して更新しますRetrieve and update device twin properties. デバイスは、このエンドポイントを使用して、そのデバイス ツインのプロパティにアクセスします。A device uses this endpoint to access its device twin's properties.

    • ダイレクト メソッド要求の受信Receive direct method requests. デバイスは、このエンドポイントを使用して、ダイレクト メソッドの要求をリッスンします。A device uses this endpoint to listen for direct method's requests.

      これらのエンドポイントは、MQTT v3.1.1、HTTPS 1.1、および AMQP 1.0 の各プロトコルを使用して公開されます。These endpoints are exposed using MQTT v3.1.1, HTTPS 1.1, and AMQP 1.0 protocols. AMQP は、ポート 443 で WebSockets 経由で使用することもできます。AMQP is also available over WebSockets on port 443.

  • サービス エンドポイントService endpoints. 各 IoT Hub では、ソリューション バックエンドに対して一連のエンドポイントを公開し、デバイスと通信を行います。Each IoT hub exposes a set of endpoints for your solution back end to communicate with your devices. 唯一の例外は、これらのエンドポイントが AMQP プロトコルを使用して公開のみが行われる場合です。With one exception, these endpoints are only exposed using the AMQP protocol. メソッド呼び出しのエンドポイントは、HTTPS プロトコルを介して公開されます。The method invocation endpoint is exposed over the HTTPS protocol.

    • D2C メッセージの受信Receive device-to-cloud messages. このエンドポイントには、Azure Event Hubsとの互換性があります。This endpoint is compatible with Azure Event Hubs. バックエンド サービスはこのエンドポイントを使用して、デバイスによって送信されたデバイスからクラウドへのメッセージを読み取ることができます。A back-end service can use it to read the device-to-cloud messages sent by your devices. この組み込みのエンドポイントに加え、IoT Hub のカスタム エンドポイントを作成することもできます。You can create custom endpoints on your IoT hub in addition to this built-in endpoint.

    • C2D メッセージの送信と、配信の確認メッセージの受信Send cloud-to-device messages and receive delivery acknowledgments. これらのエンドポイントにより、ソリューション バックエンドは、信頼性の高い Cloud-to-device メッセージを送信し、対応する配信または有効期限の確認メッセージを受信できます。These endpoints enable your solution back end to send reliable cloud-to-device messages, and to receive the corresponding delivery or expiration acknowledgments.

    • ファイル通知の受信Receive file notifications. このメッセージング エンドポイントにより、デバイスがファイルを正常にアップロードしたときに通知を受信できます。This messaging endpoint allows you to receive notifications of when your devices successfully upload a file.

    • ダイレクト メソッドの呼び出しDirect method invocation. このエンドポイントにより、バックエンド サービスがデバイスでダイレクト メソッドを呼び出すことができます。This endpoint allows a back-end service to invoke a direct method on a device.

    • 操作監視イベントの受信Receive operations monitoring events. このエンドポイントでは、IoT hub から出力するように構成されている場合は、操作監視イベントを受信できます。This endpoint allows you to receive operations monitoring events if your IoT hub has been configured to emit them. 詳細については、「IoT Hub 操作の監視」を参照してください。For more information, see IoT Hub operations monitoring.

Azure IoT SDK に関する記事で、これらのエンドポイントにアクセスするさまざまな方法が説明されています。The Azure IoT SDKs article describes the various ways to access these endpoints.

IoT Hub エンドポイントはすべて TLSプロトコルを使用しており、暗号化/セキュリティ保護されていない経路からエンドポイントが公開されることはありません。All IoT Hub endpoints use the TLS protocol, and no endpoint is ever exposed on unencrypted/unsecured channels.

カスタム エンドポイントCustom endpoints

サブスクリプションの既存の Azure サービスを、メッセージをルーティングするためのエンドポイントとして機能する IoT Hub にリンクできます。You can link existing Azure services in your subscription to your IoT hub to act as endpoints for message routing. これらのエンドポイントはサービス エンドポイントとして機能し、メッセージ ルートのシンクとして使用されます。These endpoints act as service endpoints and are used as sinks for message routes. デバイスは、追加のエンドポイントに直接書き込むことはできません。Devices cannot write directly to the additional endpoints. メッセージ ルーティングについて確認します。Learn more about message routing.

現在、IoT Hub は、追加のエンドポイントとして、次の Azure サービスをサポートします。IoT Hub currently supports the following Azure services as additional endpoints:

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

追加できるエンドポイントの数の制限については、「クォータと調整」をご覧ください。For the limits on the number of endpoints you can add, see Quotas and throttling.

REST API の Get Endpoint Health を使用して、エンドポイントの正常性状態を取得できます。You can use the REST API Get Endpoint Health to get health status of the endpoints. エンドポイントの正常性が停止または異常である場合は、エンドポイントがこれらの状態にあるときは待機時間が長くなることが予測されるため、ルーティング メッセージ待機時間に関連した IoT Hub メトリックを使用してエラーを識別およびデバッグすることをお勧めします。We recommend using the IoT Hub metrics related to routing message latency to identify and debug errors when endpoint health is dead or unhealthy, as we expect latency to be higher when the endpoint is in one of those states.

正常性状態Health Status 説明Description
healthyhealthy エンドポイントは想定どおりにメッセージを受け付けています。The endpoint is accepting messages as expected.
unhealthyunhealthy エンドポイントは想定どおりにメッセージを受け付けておらず、IoT Hub はこのエンドポイントへのデータ送信を再試行しています。The endpoint is not accepting messages as expected and IoT Hub is retrying to send data to this endpoint. IoT Hub が最終的に一貫して正常状態を確立すると、異常なエンドポイントの状態が "正常" に更新されます。The status of an unhealthy endpoint will be updated to healthy when IoT Hub has established an eventually consistent state of health.
unknownunknown IoT Hub はエンドポイントとの接続を確立していません。IoT Hub has not established a connection with the endpoint. このエンドポイントとの間でメッセージが配信または拒否されたことはありません。No messages have been delivered to or rejected from this endpoint.
deaddead IoT Hub が再試行期間中にメッセージの送信を再試行した後、エンドポイントはメッセージを受け付けていません。The endpoint is not accepting messages, after IoT Hub retried sending messages for the retrial period.

フィールド ゲートウェイField gateways

IoT ソリューションでは、フィールド ゲートウェイはデバイスと IoT Hub エンドポイントの間に配置され、In an IoT solution, a field gateway sits between your devices and your IoT Hub endpoints. 通常はデバイスの近くにあります。It is typically located close to your devices. デバイスは、そのデバイスでサポートされているプロトコルを使用してフィールド ゲートウェイと直接通信します。Your devices communicate directly with the field gateway by using a protocol supported by the devices. フィールド ゲートウェイは、IoT Hub でサポートされているプロトコルを使用して IoT Hub エンドポイントに接続します。The field gateway connects to an IoT Hub endpoint using a protocol that is supported by IoT Hub. フィールド ゲートウェイは、専用のハードウェア デバイス、またはカスタム ゲートウェイ ソフトウェアを実行する低電力コンピューターの場合があります。A field gateway might be a dedicated hardware device or a low-power computer running custom gateway software.

Azure IoT Edge を使用してフィールド ゲートウェイを実装できます。You can use Azure IoT Edge to implement a field gateway. IoT Edge には、同じ IoT Hub 接続上で複数のデバイスからの通信を多重化する機能などが用意されています。IoT Edge offers functionality such as multiplexing communications from multiple devices onto the same IoT Hub connection.

次の手順Next steps

この IoT Hub 開発者ガイド内の他の参照トピックは次のとおりです。Other reference topics in this IoT Hub developer guide include: