device-to-cloud 通信に関するガイダンス
IoT Hub では、デバイス アプリからソリューション バック エンドに情報を送信する次の 3 つのオプションを公開します。
device-to-cloud メッセージ: 時系列のテレメトリとアラート用。
デバイス ツインの報告されるプロパティ: 使用できる機能、状態、実行時間の長いワークフローの状態など、デバイスの状態情報のレポート用。 たとえば、構成とソフトウェアの更新など。
ファイルのアップロード: 断続的に接続されるデバイスによってアップロードされたり、帯域幅を節約するために圧縮されているメディア ファイルと大容量のテレメトリ バッチ用。
Note
この記事で言及されている一部の機能 (cloud-to-device メッセージング、デバイス ツイン、デバイス管理など) は、IoT Hub の Standard レベルだけで使用することができます。 Basic および Standard または Free レベルの IoT Hub の詳細については、ソリューションに適した IoT Hub のレベルの選択に関するページを参照してください。
さまざまな device-to-cloud 通信オプションの詳細な比較を次に示します。
要素 | デバイスからクラウドへのメッセージ | デバイス ツインの報告されるプロパティ | ファイルのアップロード |
---|---|---|---|
シナリオ | テレメトリの時系列と警告。 たとえば、256 KB のセンサー データをひとまとめにして 5 分間隔で送信します。 | 利用できる機能や条件。 たとえば現在のデバイス接続モード (携帯ネットワークか WiFi かなど) を報告します。 構成やソフトウェア更新などの実行時間の長いワークフローと同期します。 | 動画またはその他の大きなメディア ファイル。 大規模な (通常は圧縮された) テレメトリ バッチ。 |
格納と取得 | IoT Hub によって、最大 7 日間、一時的に格納されます。 シーケンシャルな読み取りのみ可能です。 | IoT Hub によってデバイス ツインに格納されます。 IoT Hub クエリ言語を使用して取得できます。 | ユーザー指定の Azure Storage アカウントに格納されます。 |
サイズ | 最大 256 KB のメッセージ。 | レポートされるプロパティの最大サイズは 32 KB です。 | Azure Blob Storage によってサポートされるファイルの最大サイズ。 |
頻度 | 高。 詳細については、IoT Hub のクォータと調整に関するページを参照してください。 | 中。 詳細については、IoT Hub のクォータと調整に関するページを参照してください。 | 低。 詳細については、IoT Hub のクォータと調整に関するページを参照してください。 |
Protocol | すべてのプロトコルで使用できます。 | MQTT または AMQP を使用して利用できます。 | どのプロトコルでも使用できますが、デバイス上に HTTPS が必要です。 |
アプリケーションは、情報を時系列のテレメトリまたはアラートとして送信することと、デバイス ツインで使用できるようにすることの両方を要求できます。 このシナリオでは、次のいずれかの方法を選ぶことができます。
- デバイス アプリが device-to-cloud メッセージを送信し、プロパティの変更を報告する。
- ソリューション バックエンドが、メッセージを受信したときにデバイス ツインのタグに情報を格納する。
device-to-cloud メッセージのほうがデバイス ツインの更新よりもはるかにスループットが高いため、すべての device-to-cloud メッセージに対してデバイス ツインを更新することは避けることをお勧めします。