根据设备ID触发天蓝色函数

时间:2018-07-18 08:23:28

标签: azure azure-functions azure-iot-hub

我在IoT中心注册了两个设备。说device1和device2。我有两个azure函数,分别是azurefunction1和azurefunction2。

当使用device1将消息发送到Iot Hub时,我希望触发azurefunction1,但不触发azurefunction2。 类似地,当使用device2将消息发送到Iot Hub时,我希望触发azurefunction2而不触发azurefunction1。

我尝试使用使用者组,但是同时触发了两个azure函数。 任何帮助表示赞赏。

2 个答案:

答案 0 :(得分:0)

这不是直接可能的。两台设备的事件都进入同一个事件中心,而事件中心是“函数”触发器的粒度级别。

消费者组面向独立的消费者,两者都将获得所有事件。

我建议您使用一个功能来接收所有设备的事件。然后,该功能可以根据需要将基于设备ID的请求路由到其他功能,例如通过HTTP调用或通过单独的存储队列。

答案 1 :(得分:0)

另一个选择是使用IoT中心路由。您可以基于deviceid将事件路由到不同的IoT中心终结点。然后,您可以将azurefunction1连接到device1的端点,并将azurefunction2连接到device2的端点。

Routing Messages教程介绍了如何配置和使用路由。