【问题标题】:Azure IOT Hub Device "Suspension"Azure IOT Hub 设备“暂停”
【发布时间】:2018-06-28 21:45:01
【问题描述】:

假设 Azure IOT 集线器具有数千个连接的设备。 鉴于某些 子集 设备具有某种软件和硬件问题的组合,因此它们正在用(不良)流量淹没 IOT Hub。

我们如何“暂停”或以其他方式标记特定设备, 从设备注册表中删除,例如 IOT Hub SDK 客户端库(在我们的例子中,https://github.com/Azure/azure-iot-sdk-node/tree/master/device)会在设备本地返回错误吗?

我们的想法是在我们决定再次允许之前冻结来自设备的流量。

【问题讨论】:

  • 你试过什么?这似乎是一个非常广泛的架构问题,很大程度上取决于您的实现
  • 您可以使用面向服务的端点临时禁用设备。
  • @RomanKiss 我没听说过这个。您能否将我指向 doc 或 API 名称、powershell cmdet 等以获取更多信息。
  • @RomanKiss 您是否建议调用(例如从 C# 中)Microsoft.Azure.Devicdes.RegistryManager.UpdateDevice() 并为 Device.DeviceStatus 传递 DeviceStatus.Disabled?
  • @HowardHoffman 查看 Azure IoT Hub REST API,例如 Device Api - Put Device docs.microsoft.com/en-us/rest/api/iothub/deviceapi/putdevice 其中属性“状态”可以更改为“禁用”(现在自动“启用”) .注意,“primaryKey”和“secondaryKey”必须相同,否则会重新生成新值。

标签: node.js azure azure-iot-hub azure-iot-sdk


【解决方案1】:

以下屏幕 sn-p 显示了使用 REST Api - Put Device 禁用设备的示例:

注意,上图来自Azure IoT Hub Tester工具。

【讨论】:

  • Azure 门户上似乎提供了类似的功能。这很有帮助,谢谢。
【解决方案2】:

我们的想法是在我们决定再次允许之前冻结来自设备的流量。

我很确定你知道这一点,但我只是想澄清一下,禁用设备不会“冻结来自设备的流量”——设备仍会敲开集线器的门,当设备被禁用时,集线器只会不处理数据。

官方documentation 表示,禁用设备适用于“如果出于任何原因,您认为设备已被盗用或未经授权”似乎适合您的情况。

值得指出的是,根据您的配置设置,可以允许设备在不同的设备 ID 下注册并继续发送数据。


顺便说一句。要禁用的 UI 路径是 portal.azure.com -> IoT Hub -> IoT 设备 -> 查找设备 -> 禁用

【讨论】:

    猜你喜欢
    • 2017-04-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-06-07
    • 2020-02-06
    • 1970-01-01
    相关资源
    最近更新 更多