事件中心触发将同一条消息推送到多个应用程序功能

时间:2020-06-12 17:37:28

标签: azure-functions azure-eventhub

我有这样的布局:

EventHubNameSpace
  HubA
  HubB
  HubC

然后我有了应用程序功能:

Product
  .AppFunctions
    .FunctionA
    .FunctionB
    .FunctionC

FunctionA应该是HubA的触发器。 (我已经检查了“集成”标签,这是我指向的中心名称)。

与FunctionB,HubB等相同

但是,当某些内容发布到HubA时,我会在FunctionB上看到该消息。问题是为什么?

在中心名称空间级别发生任何事件时,事件中心触发器是否正在触发“ AppFunctions”下的所有功能?

它们都设置为使用$ default作为其消费方组,但我认为这将是在事件中心名称级别,而不是事件名称空间级别。

我需要单独的功能应用程序,每个事件中心一个吗?

那么要使HubA的触发消息只发送给FunctionA,该怎么做?

谢谢, 尼克

1 个答案:

答案 0 :(得分:2)

我可以在我这方面重现该问题。经过一些研究,我发现原因是在eventhub namespace connection string上添加了冗余字符串EntityPath。只需删除此字符串即可,一切正常。

步骤如下:

1。导航到天蓝色门户,您将天蓝色功能->配置->应用程序设置。然后单击yourEventhubNameSpace_RootManageSharedAccessKey_EVENTHUB的名称,从中删除EntityPath。屏幕截图如下:

enter image description here

然后单击“保存”按钮。更改之后,每个功能(例如FunctionA / FunctionB / FunctionC)都应正常工作。