如何禁用云启动的与Azure IoT边缘设备的连接?

如何禁用云启动的与Azure IoT边缘设备的连接?,azure,azure-iot-edge,azure-iot-hub-device-management,Azure,Azure Iot Edge,Azure Iot Hub Device Management,我正在研究Azure IoT Hub和IoT Edge,以大致了解其功能和潜在用例。我过去工作过的一个项目严格要求禁用云启动的联系,并基于设备启动的轮询使事情正常运行。例如,当设备管理门户上的某些设置更改或新固件可用时,每个设备都会通过定期轮询意识到这一点,而不是将其下推到设备上 我无法控制这一要求,但如果该项目将被转移到Azure IoT,我肯定会提出同样的要求。有没有一种简单的方法可以通过Azure实现这一点 我曾考虑对相关容器的网络访问进行调整,但这是否会导致物联网集线器变得疯狂,并试图与

我正在研究Azure IoT Hub和IoT Edge,以大致了解其功能和潜在用例。我过去工作过的一个项目严格要求禁用云启动的联系,并基于设备启动的轮询使事情正常运行。例如,当设备管理门户上的某些设置更改或新固件可用时,每个设备都会通过定期轮询意识到这一点,而不是将其下推到设备上

我无法控制这一要求,但如果该项目将被转移到Azure IoT,我肯定会提出同样的要求。有没有一种简单的方法可以通过Azure实现这一点


我曾考虑对相关容器的网络访问进行调整,但这是否会导致物联网集线器变得疯狂,并试图与“无响应”设备持续通信,并标记所有这些失败的尝试?

此任务有两个部分:连接和消息

连接 就连接而言,IoT Hub的一个重要功能是设备负责建立连接。Azure IoT设备默认不接受传入连接。设备与物联网集线器建立AMQP或MQTT连接,从而允许双向通信。 HTTPS连接是一个例外,如果您使用该方法,设备将轮询IoT Hub以获取新消息

信息 当从设备启动双向连接时,这允许设备和物联网集线器相互发送消息。对于非边缘设备,如果不使用SDK并自己编写(例如MQTT)代码,则可以决定不侦听任何传入消息。你不会订阅像direct methods和twin updates这样的主题,而只会在你需要的时候查找它们。 对于设备,双向通信由边缘集线器处理。因此,您的其他容器(模块)不会直接与云通信。 这样,边缘代理(也只处理传出连接)就可以向云报告模块的状态


在您的问题评论中,您提到要求云不能启动与设备的连接。简言之,这不会发生,IoT Hub不是这样设计的。

要求是否特别针对不从云端发送消息?还是要求云平台不能启动与设备的连接?后者是Azure IoT的设计原则,不会发生。是的,它是后者。那么,你的意思是Azure不会通知设备配置更改、可用固件等,而设备会自己发现,对吗?我在回答中已经详细解释了。是的,这对我来说很清楚,非常感谢。