[英]Not able to set maxMessageBatchSize for Azure Service Bus Queue
我有一个 Azure Function 来使用 ServiceBusTrigger 处理来自服务总线队列的消息。 已部署带有设置“maxMessageBatchSize”的 host.json 文件:5 但是它以某种方式被忽略并且日志记录表明它使用的是默认值 1000。无论我做了什么我都无法更改此值。
这是 function 代码的片段
[FunctionName("SomeFunction")]
public async Task Run(
[ServiceBusTrigger("queue-name", Connection = "ServiceBusConnectionString")]
ServiceBusReceivedMessage[] messages,
ILogger log)
{
log.LogInformation("Executing Function {}", messages.Length);
var options = new Microsoft.Azure.WebJobs.ServiceBus.ServiceBusOptions();
log.LogInformation($" MaxMessageBatchSize: {options.MaxMessageBatchSize}");
和 host.json 在此处根据 Extensions 5.x+ 文档部署,我也尝试了 Functions 2.x+ 来确定,但也没有帮助。
{
"version": "2.0",
"logging": {
"applicationInsights": {
"samplingSettings": {
"isEnabled": true,
"excludedTypes": "Request"
}
}
},
"extensions": {
"serviceBus": {
"prefetchCount": 0,
"maxConcurrentCalls": 5,
"maxConcurrentSessions": 5,
"maxMessageBatchSize": 5
}
}
}
您如何确定未使用 5? 当您在 function 主体中构造一个新的选项实例时,该实例将具有该属性的默认值,但这并不意味着扩展不遵守您在 host.json 中指定的值。
在本地启动时,如果您传递详细标志,您将能够看到正在使用的 host.json 选项,即:
func host start --verbose
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.