繁体   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