Azure功能-断路服务总线触发器

时间:2020-04-15 03:36:40

标签: azure azure-functions azure-servicebus-queues

我正在评估使用Azure Functions来消耗上游系统中的数据,并通过各种下游api调用来处理数据。我已经实现(使用Java)使用HttpTrigger的Azure函数,以接收上游数据并将其推送到服务总线队列(“生产者”)中。我还使用ServiceBusQueueTrigger将其“消费者”端实现为(Azure函数)(再次使用Java)。这两个功能均能正常运行。服务总线队列已启用会话。

我的主要问题是,当下游API出于某种原因(升级,服务中断,网络中断等)脱机时,如何正确断开接收器/消费者功能?消费者功能依赖于内部和外部API。

在com.microsoft.azure.servicebus.management java程序包中,有一个ManagementClient类,我曾使用updateQueue方法成功启用/禁用了服务总线队列,但效果有限。调用updateQueue方法将EntityStatus设置为Disabled或ReceiveDisabled确实会阻止使用者功能从服务总线队列接收数据。但是,问题在于,当调用相同的updateQueue方法将EntityStatus设置为Active时,使用者Function不会重新开始使用数据。即使将其他数据添加到服务总线队列中,该功能也保持空闲状态。实际上,使使用者功能消耗数据的唯一方法是使用门户网站重新启动功能本身。

我还应该采取其他措施来正确激活使用者功能,而不必诉诸于停止/启动功能吗?

我正在使用服务总线队列来保证会话中数据的传递和排序。

0 个答案:

没有答案