【发布时间】:2022-10-08 19:51:58
【问题描述】:
现在,我们使用 Azure 服务总线来触发我们的函数应用。传入消息的速率非常高,但我们希望一次只触发一条消息(以我们自己的节奏处理而不是处理太多的请求错误)。 如何配置服务总线一次只向接收者发送一条消息? 这是我们的基本功能应用程序代码:
[FunctionName("ServiceBusListener")]
public void Run([ServiceBusTrigger("myqueue", Connection = "MyConnection")]string queueContent, ILogger log)
{
_myService.ProcessMessage(queueContent);
log.LogInformation($"C# ServiceBus queue trigger function processed message: {queueContent}");
}
【问题讨论】:
-
您是否考虑过使用队列?
-
我已经考虑过了。那是最坏的情况。唯一的问题是我必须自己管理队列中的所有内容。我希望服务总线有一个用例来控制消耗率
-
@PeterBons 关于使用服务总线实现相同目标的任何想法?
-
谷歌搜索将我带到 MaxMessageBatchSize,可能还需要设置 MaxConcurrentCalls 和 MaxConcurrentSessions。
标签: c# azure .net-core azure-functions azureservicebus