azure - 基于 deviceids 触发 azure 函数
问题描述
我在 IoT 中心注册了两台设备。说设备1和设备2。我有两个 azure 函数,分别是 azurefunction1 和 azurefunction2。
当使用 device1 将消息发送到 IoT 集线器时,我希望触发 azurefunction1 但不触发 azurefunction2。同样,当使用 device2 将消息发送到 IoT 集线器时,我希望触发 azurefunction2 但不触发 azurefunction1。
我尝试使用消费者组,但两个 azure 功能都被触发了。任何帮助表示赞赏。
解决方案
这是直接不可能的。来自两个设备的事件都转到同一个事件中心,而事件中心是函数触发器的粒度级别。
消费者组是针对独立消费者的,它们都将获得所有事件。
我建议您使用一个函数来接收来自所有设备的事件。如果需要,该函数然后可以根据设备 ID 将请求路由到其他函数,例如通过 HTTP 调用或通过单独的存储队列。
推荐阅读
- linux - 控制台上的 SSH 谷歌云权限被拒绝(公钥)与 google-cloud-sdk 文件错误
- sql - 加入 ID 和 TIMESTAMP 列时,为什么我会在 LEFT JOIN 中获得额外的行?
- c# - 带有正斜杠的 Json 字段名称
- r - 如何在rgl中绘制到整个窗口?
- kotlin - 我可以将具有反射值的对象变量设置为另一个对象的属性吗?
- html - How can I set the widths of html table columns without individual styling of cells?
- arrays - Can't use string as an ARRAY ref while strict refs in use
- google-apps-script - 如何正确调试部署在谷歌脚本中的 WebApp?
- excel - Is there a way to select a Table without a direct reference to its name?
- greenplum - 如何使用 Greenplum 中的字符串函数将 UTF8 转换为字符串