receiveFromEventHubs
Source processor that consumes messages from Azure Event Hubs.
The consumer will listen for messages published to the specific Event Hubs instance (referenced by authenticationConfigKey). Consumer groups enable multiple consumers to collaborate on processing messages from multiple partitions concurrently. It is the main tool for scaling on the consumer side. Furthermore, consumer groups enable multiple consuming applications to each have a separate view of the event stream and to read the stream independently at their own pace and with their own offsets.
The message will not be acknowledged to Azure Event Hubs until it has been successfully persisted in the source processor.
The Lease Manager (ref. the 'leaseManagerCredentialsKey' property) is responsible for coordinating partition ownership and checkpointing among multiple consumers in an Event Hubs consumer group. It uses Azure Storage to:
-
Track which consumer instance owns which partition (partition leasing)
-
Ensure only one consumer processes a given partition at a time
-
Store checkpoints (the last successfully processed event) for each partition, enabling reliable recovery and load balancing.
This mechanism enables distributed, scalable, and fault-tolerant event processing.
Properties
| Name | Summary |
|---|---|
|
Key from the server configuration used to look up the credentials needed to connect to Azure Event Hubs. |
|
Key from the server configuration used to look up the credentials needed for the lease manager. |
|
The consumer group ID. Consumer groups enable multiple consumer instances to process messages from different partitions in parallel and support individual message offset tracking for multiple consuming applications. |
|
The maximum batch size to consume. |
|
The maximum wait time (in milliseconds) to wait for a batch to be consumed. |
|
The internal prefetch count in the Azure SDK. If not set, uses the SDK default of |
|
Position to start consuming from when no checkpoint is available. Can be one of the following string values:
|
|
Whether the consumer should actually be polling messages from Event Hubs. Defaults to |
|
Optional, descriptive name for the processor. |
|
Required identifier of the processor, unique across all processors within the flow. Must be between 3 and 30 characters long; contain only lower and uppercase alphabetical characters (a-z and A-Z), numbers, dashes ("-"), and underscores ("_"); and start with an alphabetical character. In other words, it adheres to the regex pattern |
|
Optional set of custom properties in a simple jdk-format, that are added to the message exchange properties before processing the incoming payload. Any existing properties with the same name will be replaced by properties defined here. |
|
Whether the incoming payload is available for error processing on failure. Defaults to |
Sub-builders
| Name | Summary |
|---|---|
Strategy for describing the external system integration. Optional. |
|
Strategy for describing how a processor’s message is logged on the server. |
|
Strategy for archiving payloads. |
|
Strategy that customizes the conversion of an incoming payload by a processor (e.g., string to object). Should be used when the processor’s default conversion logic cannot be used. |
Details
Authentication
The authenticationConfigKey property supports secrets of type AzureConnectionString. The leaseManagerCredentialsKey property supports secrets of type AzureLeaseManagerCredentials.
See the Secret Types documentation for formatting details.