如何指定到网关的路由

时间:2018-08-02 14:27:27

标签: azure azure-iot-hub azure-iot-edge

我想创建边缘设备的“层次结构”,并因此使用网关机制。目前,该网关只是一个透明的网关,它将消息传递到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”

1 个答案:

答案 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的接口进行通信。

这是一个很容易解决的问题,但是除此之外,我们还不知道是否还有其他阻塞问题。此外,还有一些工作要做,以确保创建边缘层次结构的整个体验是可行且有意义的。