Steph Locke Steph Locke - 19 days ago 9
C# Question

How to configure Receiver batch size for Azure Functions EventHub listener?

In the latest Microsoft.Azure.WebJobs.ServiceBus package, it gives you the ability to receive batches of messages from eventhubs. I would like to set how many messages I want to receive in a batch.

The core ServiceBus library allows you to overload the

Receive()
function and provide the batch size.

How does one do this in the initial config of an EventHubs receiver, or is something else required?

Answer

You can do this in Functions via the eventHub configuration block in host.json as described here. E.g.:

{
    "eventHub": {
        "maxBatchSize": 500,
        "prefetchCount": 100
    }
}

We apply those configuration settings to the EventProcessorOptions when we create the EventProcessorHost (see here).