Хорошо, заставил это работать как обсуждено в комментариях. Вам не нужна долговременная функция, но вы должны получать (а затем записывать) сообщения пакетами из служебной шины. Вот пример пакета:
[FunctionName("QueueTriggeredFunction")]
public static void Run([ServiceBusTrigger("demofunctionqueue", Connection = "queueconstring")]string[] myQueueItems, ILogger log)
{
log.LogInformation("Received messages {count}", myQueueItems.Length);
foreach (var myQueueItem in myQueueItems)
{
log.LogInformation($"C# ServiceBus queue trigger function processed message: {myQueueItem}");
}
}
host.json
, чтобы установить максимальное количество сообщений в пакете
{
"version": "2.0",
"extensions": {
"serviceBus": {
"batchOptions": {
"maxMessageCount": 200
},
"messageHandlerOptions": {
"maxConcurrentCalls": 1
}
}
}
}