Skip to content

Latest commit

 

History

History
39 lines (28 loc) · 2.98 KB

iot-hub-devguide-d2c-guidance.md

File metadata and controls

39 lines (28 loc) · 2.98 KB
title description author ms.service services ms.topic ms.date ms.author
Azure IoT Hub device-to-cloud options | Microsoft Docs
Developer guide - guidance on when to use device-to-cloud messages, reported properties, or file upload for cloud-to-device communications.
fsautomata
iot-hub
iot-hub
conceptual
01/29/2018
elioda

Device-to-cloud communications guidance

When sending information from the device app to the solution back end, IoT Hub exposes three options:

  • 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.

[!INCLUDE iot-hub-basic]

Here is a detailed comparison of the various device-to-cloud communication options.

Device-to-cloud messages Device twin's reported properties File uploads
Scenario Telemetry time series and alerts. For example, 256-KB sensor data batches sent every 5 minutes. Available capabilities and conditions. 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 Temporarily stored by IoT Hub, up to 7 days. Only sequential reading. Stored by IoT Hub in the device twin. Retrievable using the IoT Hub query language. Stored in user-provided Azure Storage account.
Size Up to 256-KB messages. Maximum reported properties size is 8 KB. Maximum file size supported by Azure Blob Storage.
Frequency High. For more information, see IoT Hub limits. Medium. For more information, see IoT Hub limits. Low. For more information, see IoT Hub limits.
Protocol Available on all protocols. Available using MQTT or AMQP. 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:

  • 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.

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.