要让边缘模块接收直接方法请求,需要在模块的路由配置中添加一个特殊的路由。此路由将所有的直接方法请求定向到IoT Edge代理,代理会负责转发请求到边缘模块。
以下是一个示例模块的路由配置,其中添加了一个特殊路由,以便接收直接方法请求:
{
"routes": {
"sensorToHub": "FROM /messages/modules/tempSensor/outputs/tempOutput INTO $upstream",
"directMethodToModule": "FROM /messages/* WHERE NOT is_object(temperatureAlert) INTO BrokeredEndpoint(\"/modules/moduleReceiveDirectMethod/inputs/input1\")",
"moduleToIoTHub": "FROM /messages/modules/moduleReceiveDirectMethod/outputs/output1 INTO $upstream"
}
}
在上面的示例中,'directMethodToModule”路由将所有不带'temperatureAlert”对象的直接方法请求定向到名为'moduleReceiveDirectMethod”的模块。该模块会接收到请求,并在此之后进行处理。
通过添加类似的路由,可以使边缘模块能够更好地处理直接方法请求。