[英]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.