为什么事件网格大约每2分钟触发一次Azure功能

时间:2018-09-06 04:08:13

标签: azure azure-functions azure-servicebus-topics azure-eventgrid

我正在学习Azure Service Bus和Functinos。 我已经创建了服务总线名称空间,名称空间下的主题以及对该主题的订阅。

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

当我向Service Bus主题发送了几条消息时,可以从Azure函数的“监视器”中看到,大约每2分钟触发一次。该函数除了输出消息外不执行任何操作,不会花费很长时间。 我希望只要有发送到该主题的消息就会触发该函数,但似乎没有,为什么会这样?

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

谢谢

1 个答案:

答案 0 :(得分:1)

这是EventGrid for Azure Service Bus的正常行为,记录在here中。

  

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

该想法不是轮询新消息,而是发出通知事件。一旦功能完成,消息很可能会到达,并且如果之前未接收到,则两分钟后“事件网格”将发出事件。

  

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

具有[Singleton]属性的功能可以完成这项工作。