想知道当消息持续传递到服务总线主题时,Azure 函数触发器将如何工作。据我所知,当主题收到消息时,天蓝色函数就会被触发。当启用批处理和会话时,函数将等待特定时间段,以便主题获取多条消息,并且可以将多条消息传递给azure函数。
与 SDK 的消息传递可能会延迟一些,但不需要等待特定的时间段,与 PeekLock 不同。可以通过批处理传递多条消息。
配料:
批处理将一定数量的消息作为单个批次传递给函数,从而允许在一次调用中处理多个消息。启用批处理后,它“不会”等待特定时间段来累积消息,然后再将消息传递给函数。
Azure Functions 的 Azure 服务总线触发器的代码取自 DOC
{
"version": "2.0",
"extensions": {
"serviceBus": {
"clientRetryOptions": {
"mode": "exponential",
"tryTimeout": "00:01:00",
"delay": "00:00:10.90",
"maxDelay": "00:10:00",
"maxRetries": 3
},
"prefetchCount": 100, // Adjust as needed
"autoCompleteMessages": true,
"maxAutoLockRenewalDuration": "00:05:00",
"maxConcurrentCalls": 16,
"maxMessageBatchSize": 1000,
"minMessageBatchSize": 1,
"maxBatchWaitTime": "00:00:30"
}
}
}
会话可以联合有序地处理无限的相关消息序列。会话可以用于“先进先出 (FIFO)”和请求-响应模式。在服务总线队列或主题中启用会话不会更改批处理的
触发机制。