首页 > 解决方案 > 为什么事件网格大约每 2 分钟触发一次 Azure 功能

问题描述

我正在学习 Azure 服务总线和 Functinos。我创建了一个服务总线命名空间、命名空间下的主题和对该主题的订阅。

然后我将 Service Bus 命名空间的事件网格绑定到 Azure 函数的 EndPoint 以处理 SB 消息。

当我向服务总线主题发送几条消息时,我可以从 Azure 功能的“监视器”中看到,它大约每 2 分钟触发一次。该函数只输出消息,不会花费很长时间。我希望每当有消息发送到主题时都会触发该功能,但似乎没有,为什么会这样?

顺便说一句,如果我想保持 Azure 功能一个接一个地接收和处理消息(不是并行),我该如何配置它?

谢谢

标签: azureazure-functionsazure-servicebus-topicsazure-eventgrid

解决方案


这是适用于 Azure 服务总线的 EventGrid 的正常行为,并在此处记录。

如果服务总线实体中没有消息并且有新消息到达,则立即发出事件。或者,除非服务总线检测到活动接收器,否则每两分钟发出一次事件。消息浏览不会中断事件。

这个想法不是轮询新消息,而是发出通知事件。一旦 Function 完成,消息很可能会到达,如果之前没有收到,两分钟后 Event Grid 将发出一个事件。

顺便说一句,如果我想保持 Azure 功能一个接一个地接收和处理消息(不是并行),我该如何配置它?

归因于的功能[Singleton]应该可以完成这项工作。


推荐阅读