Azure函数绑定多个服务总线事件
有没有办法让Azure函数可以由多个服务总线事件队列触发?例如,如果有一个函数,其逻辑对多种情况(事件开始、事件结束-每种情况都插入到不同的服务总线队列)有效,并且我希望将其用于这些事件,那么我可以从同一个函数在服务总线中订阅这两种情况吗Azure函数绑定多个服务总线事件,azure,azure-functions,azureservicebus,azure-servicebus-queues,Azure,Azure Functions,Azureservicebus,Azure Servicebus Queues,有没有办法让Azure函数可以由多个服务总线事件队列触发?例如,如果有一个函数,其逻辑对多种情况(事件开始、事件结束-每种情况都插入到不同的服务总线队列)有效,并且我希望将其用于这些事件,那么我可以从同一个函数在服务总线中订阅这两种情况吗 我一直在寻找这个问题的答案,但到目前为止,我检查的所有地方似乎都不可能找到答案 Azure函数可以由单个源队列或订阅触发。 如果您希望合并多个源以用作单个函数的触发器,则可以将消息转发到单个实体(假设为队列),并将该函数配置为由该队列中的消息触发。Azure服
我一直在寻找这个问题的答案,但到目前为止,我检查的所有地方似乎都不可能找到答案 Azure函数可以由单个源队列或订阅触发。 如果您希望合并多个源以用作单个函数的触发器,则可以将消息转发到单个实体(假设为队列),并将该函数配置为由该队列中的消息触发。Azure服务总线本机支持
请注意,跳数不能超过3,如果消息是从队列转发的,则不一定知道消息的来源。对于订阅,有一种可能的方法来对消息进行标记。 您可能想考虑只使用一个队列,但对客户端有多个主题/订阅来切换模式。 然后,开始-结束主题可以触发所讨论的函数
工作主题可以触发其他一些函数,等等。如果您的目标是简单地重用代码,那么重构该函数以创建一个类,然后在多个函数中使用该类如何 如果您的目标是实现事件聚合,那么您可能会创建一个Azure持久功能工作流,该工作流将对多个事件进行扇入 摘自: 每小时批量处理Azure Blob
我发现在azure function.json文件中指定触发器时,需要添加订阅名称和主题名称。这意味着我只能将触发器绑定到一个主题,而不是多个主题。你有什么参考资料吗?另外,基于主题似乎是一对多的:我们可以为一个主题提供多个客户端。但这不是我想要达到的。在我的示例中,我想要的关系是多对一。@yanis好的,不,我要说的是使用一个队列而不是多个队列,然后为每个函数配置一个主题。因此,与其尝试从不同队列中获取触发函数,不如使用该主题在单个队列中路由所有相关消息。您是否介意详细说明“对于订阅,有一种可能的方法可以标记消息?”@John subscriptions有规则。每个规则都有一个筛选器和一个操作。操作可用于“标记”消息头。也就是说,您可以添加接收方可以利用的其他元数据。例如,如果您有订阅,并且希望使用单个函数以不同的方式处理这两个订阅,则每个订阅都可以有一个带有操作的规则,并将“stamp”/write一个带有订阅名称的自定义头。当函数接收到消息时,代码将能够识别消息来自何处。希望有帮助:)