簡體   English   中英

當設備在未在 IoT Hub 中注冊的情況下發送遙測消息時,IoT Hub 的行為是什么?

[英]What is the behavior of IoT Hub when the device send telemetry message without registered in IoT Hub?

我似乎無法在任何地方獲得這些信息。 如果發送此消息的設備未在 IoT 中心注冊,我想知道遙測消息會發生什么情況。

這是因為我發現來自 IoT 中心中未注冊設備的一些消息正在處理到內置事件中心,並在內置事件中心之后進入我的下一個 Function 應用程序。

因此,我想知道如果消息是在沒有在 IoT Hub 下注冊的設備的情況下發送的,IoT Hub 的行為如何。

謝謝你。

這是一個非常好的問題,因為它取決於您如何連接到 IoT 中心。 對於我的回答,我將考慮 MQTT、AMQP 和 HTTP。 當您使用不存在的設備 ID 連接到 IoT 中心時,您將看到以下錯誤代碼:

MQTT: 401003 IotHubUnauthorized
AMQP: 404001 DeviceNotFound
HTTP: 404001 DeviceNotFound

現在,如果您注冊了一個設備但在 IoT Hub 中禁用了它,錯誤是相同的,但您不會在跟蹤中找到 MQTT 錯誤。 相反,客戶端您將收到服務器不可用錯誤。

如果需要,您可以通過在設備連接/斷開事件上啟用跟蹤來自己查看這些錯誤代碼。

所以最后:物聯網中心的行為是在未注冊時不允許任何設備連接。

除了Matthijs van der Veer的回答之外,在 MQTT 等面向連接的直接協議的情況下,當已注冊設備已連接並且遙測數據在未注冊設備的主題下發送時,例如:

devices/UnregisteredDeviceId/messages/events/$.ct=application%2Fjson&$.ce=utf-8

然后,連接的設備會立即與 IoT 中心斷開連接。

我推薦以下內容:

  • 將遙測數據消息路由到 blob 存儲
  • 將所有設備身份導出 ("excludeKeys":false) 到 blob 存儲
  • 查找一些不在 IoT 中心標識注冊表項中的消息
  • 致電 MS 支持並為此問題創建票證

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM