如何在Azure功能应用程序中的一个功能优先于另一个功能?



我创建了一个Azure功能应用程序,它是从Azure服务总线队列触发的。服务总线中有两个队列,每个队列都有一个带有触发器的函数。Function App是在Visual Studio中使用c#开发的,使用包部署发布。

我想做的是能够指示一个函数/触发器应该在另一个函数/触发器之前处理,如果它们都有消息等待。(它们基本上都做同样的事情,但一个队列用于处理具有更高优先级的消息,因为队列只是FIFO。)

我读到函数是按字母顺序处理的,但这感觉不像是真正的依赖。

有什么方法来显式地指示优先(甚至扩展偏好)为一个函数/触发另一个?

(它们都做基本相同的事情,但一个队列用于处理具有更高优先级的消息,因为队列只是FIFO。)

上面的场景看起来像竞争消费者,它具有称为竞争消费者模式的专用设计模式,其中包含该模式中消息传递顺序的限制。

消费者服务实例可以以任何顺序接收消息,此顺序不必与创建消息的顺序相对应。

因此,不幸的是,不可能将侦听服务总线队列的一个函数优先于另一个函数。

可以控制活动函数&协调器但不起动器函数使用Azure耐用功能。

Microsoft Azure服务总线队列可以通过使用消息会话实现有保证的先入先出消息排序。有关更多信息,请参见使用会话的消息传递模式。

最新更新