我想创建边缘设备的“层次结构”,并因此使用网关机制。目前,该网关只是一个透明的网关,它将消息传递到IoT中心。 (https://docs.microsoft.com/en-us/azure/iot-edge/how-to-create-transparent-gateway-linux)。
情况:我有两个边缘设备,例如“传感器”和“网关”。如何在部署中指定Sensor的输出在流向IoT中心之前需要先到达网关的路由?
传感器路线:“路线”:“ FROM / messages / * INTO ??? ”
网关路线:“路线”:“ FROM / messages / * INTO $ upstream”
答案 0 :(得分:0)
对于当前版本的v2 IoT Edge(1.0,于2018年6月下旬发布),您不能将边缘设备链接到一个层次结构中。这是许多情况下必需的功能,但我们尚不支持(我在Azure IoT Edge团队中)。我们计划启用它,但是我没有时间表。
最直接的问题是:IoT Edge运行时会构建基于SAS的连接字符串,该字符串用于代表设备建立与云的连接。运行时仅知道如何构建包含IoT中心主机名的连接字符串:
HostName=<hub>;DeviceId=<device>;SharedAccessKey=<secret>
要连接到另一台边缘设备而不是IoT中心,连接字符串将需要其他信息-另一台边缘设备的主机名:
HostName=<hub>;DeviceId=<device>;SharedAccessKey=<secret>;GatewayHostName=<edge>
由于连接字符串,边缘设备只能与云中的IoT中心进行通信,而不能与另一边缘设备的类似IoT Hub的接口进行通信。
这是一个很容易解决的问题,但是除此之外,我们还不知道是否还有其他阻塞问题。此外,还有一些工作要做,以确保创建边缘层次结构的整个体验是可行且有意义的。