device-to-cloud 通信に関するガイダンスDevice-to-cloud communications guidance

デバイス アプリからソリューション バック エンドに情報を送信する場合、IoT Hub では、次の 3 つのオプションを公開します。When sending information from the device app to the solution back end, IoT Hub exposes three options:

  • device-to-cloud メッセージ: 時系列のテレメトリとアラート用。Device-to-cloud messages for time series telemetry and alerts.

  • デバイス ツインの報告されるプロパティ: 使用できる機能、状態、実行時間の長いワークフローの状態など、デバイスの状態情報のレポート用。Device twin's reported properties for reporting device state information such as available capabilities, conditions, or the state of long-running workflows. たとえば、構成とソフトウェアの更新など。For example, configuration and software updates.

  • ファイルのアップロード: 断続的に接続されるデバイスによってアップロードされたり、帯域幅を節約するために圧縮されているメディア ファイルと大容量のテレメトリ バッチ用。File uploads for media files and large telemetry batches uploaded by intermittently connected devices or compressed to save bandwidth.

注意

この記事で言及されている一部の機能 (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.

さまざまな device-to-cloud 通信オプションの詳細な比較を次に示します。Here is a detailed comparison of the various device-to-cloud communication options.

要素Factor デバイスからクラウドへのメッセージDevice-to-cloud messages デバイス ツインの報告されるプロパティDevice twin's reported properties ファイルのアップロードFile uploads
シナリオScenario テレメトリの時系列と警告。Telemetry time series and alerts. たとえば、256 KB のセンサー データをひとまとめにして 5 分間隔で送信します。For example, 256-KB sensor data batches sent every 5 minutes. 利用できる機能や条件。Available capabilities and conditions. たとえば現在のデバイス接続モード (携帯ネットワークか WiFi かなど) を報告します。For example, the current device connectivity mode such as cellular or WiFi. 構成やソフトウェア更新などの実行時間の長いワークフローと同期します。Synchronizing long-running workflows, such as configuration and software updates. メディア ファイル。Media files. 大規模な (通常は圧縮された) テレメトリ バッチ。Large (typically compressed) telemetry batches.
格納と取得Storage and retrieval IoT Hub によって、最大 7 日間、一時的に格納されます。Temporarily stored by IoT Hub, up to 7 days. シーケンシャルな読み取りのみ可能です。Only sequential reading. IoT Hub によってデバイス ツインに格納されます。Stored by IoT Hub in the device twin. IoT Hub クエリ言語を使用して取得できます。Retrievable using the IoT Hub query language. ユーザー指定の Azure Storage アカウントに格納されます。Stored in user-provided Azure Storage account.
サイズSize 最大 256 KB のメッセージ。Up to 256-KB messages. レポートされるプロパティの最大サイズは 32 KB です。Maximum reported properties size is 32 KB. Azure Blob Storage によってサポートされるファイルの最大サイズ。Maximum file size supported by Azure Blob Storage.
頻度Frequency 高。High. 詳細については、IoT Hub の制限に関するページを参照してください。For more information, see IoT Hub limits. 中。Medium. 詳細については、IoT Hub の制限に関するページを参照してください。For more information, see IoT Hub limits. 低。Low. 詳細については、IoT Hub の制限に関するページを参照してください。For more information, see IoT Hub limits.
ProtocolProtocol すべてのプロトコルで使用できます。Available on all protocols. MQTT または AMQP を使用して利用できます。Available using MQTT or AMQP. どのプロトコルでも使用できますが、デバイス上に HTTPS が必要です。Available when using any protocol, but requires HTTPS on the device.

アプリケーションは、情報を時系列のテレメトリまたはアラートとして送信することと、デバイス ツインで使用できるようにすることの両方を要求できます。An application may need to send information both as a telemetry time series or alert and make it available in the device twin. このシナリオでは、次のいずれかの方法を選ぶことができます。In this scenario, you can choose one of the following options:

  • デバイス アプリが device-to-cloud メッセージを送信し、プロパティの変更を報告する。The device app sends a device-to-cloud message and reports a property change.
  • ソリューション バックエンドが、メッセージを受信したときにデバイス ツインのタグに情報を格納する。The solution back end can store the information in the device twin's tags when it receives the message.

device-to-cloud メッセージのほうがデバイス ツインの更新よりもはるかにスループットが高いため、すべての device-to-cloud メッセージに対してデバイス ツインを更新することは避けることをお勧めします。Since device-to-cloud messages enable a much higher throughput than device twin updates, it is sometimes desirable to avoid updating the device twin for every device-to-cloud message.