在Xamarin Android上,我正在使用事件中心从IoT Hub接收数据。我们如何从特定设备接收数据?
例如,如果我们有device001
和device002
,我只想从 IoT 中心接收device001
的遥测数据,而从 IoT 中心接收遥测数据,以便使用事件中心device002
,或者还有其他方法吗?
事件中心不支持筛选,例如服务总线队列或订阅。
您可以接收一个给定分区的所有事件(使用EventHubConsumerGroup.CreateReceiver
(。必须在代码中进一步筛选到设备级别。如果每个分区有许多设备,则可能需要一些中间服务,以便在事件到达移动设备之前对其进行筛选(例如,具有 SignalR 的 Web 应用(。
应考虑 IoT 中心的消息路由功能。这里有一个很好的讨论
这也导致这里(很好的讨论(
在任何情况下,都可以使用 Azure 函数来侦听和筛选消息,路由到几乎任何您想要的位置。Azure Functions是无服务器的,因此编码服务成本较低。它具有通过单击单击的 UI 的快速集成功能,但需要一些编码知识。