为什么Azure功能由Event Grid触发每2个munites

问题描述 投票:0回答:1

我正在学习Azure Service Bus和Functions。我创建了一个Service Bus命名空间,命名空间下的主题和主题订阅。

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

当我向服务总线主题发送几条消息时,我可以从Azure功能的“监视器”中看到,它是每2个munites触发的。该函数除了输出消息外什么都不做,不会花很长时间。我希望只要有一个消息发送到主题就会触发该功能,但似乎不是,为什么会这样?

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

谢谢

azure azure-functions azure-servicebus-topics azure-eventgrid
1个回答
1
投票

这是针对Azure Service Bus的EventGrid的正常行为,并记录为here

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

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

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

归功于[Singleton]的函数应该可以胜任。

© www.soinside.com 2019 - 2024. All rights reserved.