首页 > 解决方案 > 基于 deviceids 触发 azure 函数

问题描述

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

当使用 device1 将消息发送到 IoT 集线器时,我希望触发 azurefunction1 但不触发 azurefunction2。同样,当使用 device2 将消息发送到 IoT 集线器时,我希望触发 azurefunction2 但不触发 azurefunction1。

我尝试使用消费者组,但两个 azure 功能都被触发了。任何帮助表示赞赏。

标签: azureazure-functionsazure-iot-hub

解决方案


这是直接不可能的。来自两个设备的事件都转到同一个事件中心,而事件中心是函数触发器的粒度级别。

消费者组是针对独立消费者的,它们将获得所有事件。

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


推荐阅读