后端应用仅接收遥测的IoTHub消息的摘要集?

问题描述 投票:0回答:1

背景-我有一个后端应用程序,它使用IoTHub上“内置消息/事件”路由中的遥测消息。通过使用python SDK与EventHubClient创建使用者来消耗遥测。设备通过编程方式供应给iothub,并提供了x509证书进行身份验证,创建/到期日期在客户端和CA证书上有效。过去,我有多个设备同时发送到IoThub,并被后端应用程序占用。一段时间后,我们设置了Azure流分析,以侦听与现有后端应用程序相同的后端/路由。快进几个月,现在我们只能让一个设备ID被原始后端应用程序上的监听客户端成功使用。

症状-我有两个设备,设备A和设备B。设备A的设备ID为Bob,x509上的CN为Bob。设备B的设备ID为Sally,证书上的CN为Sally。它们都通过设备供应服务进行供应,并由同一CA签名,该CA在DPS和iothub中均已加载和验证。流分析和原始后端应用程序都消耗了使用Bob凭据的所有遥测。使用Sally凭据发送的所有遥测仅由流分析使用。我们可以更改设备ID,并在设备A或设备B上使用Bob凭据,并且两个后端都使用消息,并且,如果我们使用Sally设备ID /凭据,则始终仅由流分析处理。流分析和原始后端应用程序都设置为$ Default消费组。我相信除非我使用eventhub,否则分区是无关紧要的,但是流分析没有用于分区ID的字段,并且后端应用程序使用者正在使用分区0。所有消息都将传递到事件/消息内置终结点,并且没有邮件传递到其他端点。

问题-为什么我的后端应用程序仅使用具有设备ID /凭据的消息给Bob?

我试图提供所有相关信息,但是如果我遗漏了一些东西,请告诉我,我可以提供更多详细信息。

编辑:我尝试完全关闭流分析,以便仅后端应用程序正在使用来自端点的消息。我还在端点上创建了一个新的使用者组以进行流分析,并将该使用者组更改为该新使用者组的流分析输入。 “症状”没有变化。

azure azure-iot-hub
1个回答
0
投票

您的所有下游应用程序,对于您而言是原始后端应用程序和Azure Stream Analytics作业,应使用其自己的使用者组,否则它们将最终消耗彼此的待处理消息。

© www.soinside.com 2019 - 2024. All rights reserved.