本文將根據您的情境需求,協助您在 Azure IoT Hub 中選擇合適的雲端與裝置通訊選項。 IoT Hub 支援三種主要的雲端對裝置通訊選項:直接方法、裝置孿生體的期望屬性,以及雲端對裝置訊息。
雲端與裝置之間的通訊方式
IoT 中樞提供三個選項以便裝置應用程式對後端應用程式公開功能︰
需要立即確認結果之通訊的直接方法。 直接方法通常用於裝置的互動式控制,例如開啟風扇。
裝置對應項所需的屬性,適用於旨在將裝置放入某種所需狀態中的長時間執行命令。 例如,將遙測傳送間隔設定為 30 分鐘。
雲端到裝置訊息用於發送單向通知至裝置應用程式。
若要瞭解 Azure IoT 隨插即用 如何使用這些選項來控制 IoT 隨插即用 裝置,請參閱 IoT 隨插即用服務開發人員指南。
備註
本文中所述的功能僅適用於 IoT 中樞的標準層。 如需有關基本和標準/免費 IoT 中樞服務層級的詳細資訊,請參閱為您的解決方案選擇合適的 IoT 中樞層和大小 (英文)。
雲端與裝置通訊選項的比較
下表根據常見因素比較 IoT Hub 中各種雲端與裝置通訊選項。
| 因數 | 直接方法 | 裝置對應項所需的屬性 | 雲端到裝置的訊息 |
|---|---|---|---|
| 狀況 | 需要立即確認的命令,例如開啟風扇。 | 可讓裝置進入特定所需狀態的長時間執行命令。 例如,將遙測傳送間隔設定為 30 分鐘。 | 對裝置應用程式的單向通知。 |
| 數據流 | 雙向。 裝置應用程式可以立即回應方法。 解決方案後端會接收到根據要求上下文的結果。 | 單向。 裝置應用程式會收到屬性變更的通知。 | 單向。 裝置應用程式會接收訊息。 |
| 耐久性 | 不會聯繫已中斷連線的裝置。 解決方案後端會收到裝置未連線的通知。 | 屬性值會保留在裝置對應項中。 裝置會在下一次重新連線時讀取它。 屬性值可使用 IoT中樞查詢語言來擷取。 | IoT 中樞最多可以保留訊息 48 小時。 |
| 目標 | 使用 deviceId 的單一裝置,或使用 任務 的多個裝置。 | 使用 deviceId 的單一裝置,或使用 任務 的多個裝置。 | 依照 deviceId 的單一裝置。 |
| 大小 | 直接方法的承載大小上限為:要求 128 KB,回應 128 KB。 | 所需屬性大小上限為 32 KB。 | 最多 64 KB 的訊息。 |
| 頻率 | 高。 如需詳細資訊,請參閱 IoT 中樞配額和節流。 | 中等。 如需詳細資訊,請參閱 IoT 中樞配額和節流。 | 低。 如需詳細資訊,請參閱 IoT 中樞配額和節流。 |
| 協定 | 可使用 MQTT 或 AMQP。 | 可使用 MQTT 或 AMQP。 | 適用於所有通訊協定。 使用 HTTPS 時,裝置必須輪詢。 |
瞭解如何在下列教學課程中使用直接方法、所需屬性和雲端到裝置訊息: