Azure Event Hubs
The Azure Event Hubs data connector is implemented for source and sink connections to stream data using the AMQP protocol. Since the Azure Event Hubs support Apache Kafka, you can also use the Apache Kafka connector to connect with the event hubs.
To learn more, see the Kafka connector documentation.
This is a minimal example of the Event Hubs connector URI scheme:
evh://namespace/event-hub
Authentication
This connector supports two authentication methods:
-
Default authentication When credentials aren't specified, the system uses the default Azure credentials provider.
For example:
evh://namespace/event-hub... -
Explicit (static) credentials provider Uses credentials provided explicitly to the URI. For example:
evh://SharedAccessKeyName:SharedAccessKey@namespace/event-hub...
Configuration
Use the following parameters to configure the connector.
The consumer_group parameter
consumer_group parameterOptional parameter. A consumer group is a view of the entire Event Hub. Consumer groups allow multiple apps connected to the hub to:
- Have separate views of the event stream.
- Read the event stream independently.
- Read the event stream at app-specific pace and from app-specific position.
The maximum number of concurrent readers on a partition per consumer group is 5. It's recommended that there's only one active consumer for a given partition and consumer group pairing.
Each active reader receives the events from its partition. If there are multiple readers on the same partition, they receive duplicate events.
The default value is $Default. To learn more, see
the Consumer groups documentation
The offset parameter
offset parameterOptional parameter. Defines the position within the Event Hub partition to begin consuming events.
Supported values: earliest and latest.
Default value: latest.
The partitions parameter
partitions parameterOptional parameter. Configures a list of partitions to be read. Event Hubs organize the received data into one or more
partitions. For an event hub with four partitions, partition IDs 0, 1, 2, and 3 are valid.
Relevant only when the connector is used as a source connector. By default, the connector consumes all partitions of the topic.
The max_wait_time parameter
max_wait_time parameterOptional parameter. Relevant only when the connector is used as a source connector. Value defined using the Java Duration format.
Defines the maximum amount of time the system waits for an event to be available when reading before it reads an empty
event. If a message is available, the system returns the call without waiting for the time defined in WaitTimeSeconds.
If no messages are available and the wait time expires, the call returns successfully with an empty event.
To learn more, see the EventHubConsumerClient Class documentation.
Examples:
PT1M: 1 minutePT1H: 1 hourPT30S: 30 secondsPT23H56M4.091S: the sidereal day
The default value is PT0.5S.
The max_message_count parameter
max_message_count parameterOptional parameter. Relevant only when the connector is used as a source connector.
Defines the maximum number of messages to receive in a batch.
To learn more, see the EventHubConsumerClient Class.
The default value is 1.
The prefetch_count parameter
prefetch_count parameterOptional parameter. Relevant only when the connector is used as a source connector.
The number of events that will be eagerly requested from the Event Hubs service and queued locally regardless of whether a read operation is currently taking place, to increase maximize throughput by allowing events tobe read from a local cache rather than waiting for a service request.
To learn more, see the EventHubClientBuilder Class documentation.
Using multi-partitioned sources
HERE Anonymizer Self-Hosted allows all probe data of a single vehicle to be placed into a single dedicated partition of a multi-partitioned event hub. This means that there's always one partition that gets data from a specific vehicle.
If the data can be categorized by a vehicle/trajectory/trace identifier or by a geospatial identifier, such as a state or a big enough map tile, all the messages must be directed into a single partition that is mapped to this specific identifier.
The easiest way to fulfil this requirement is to have all messages keyed
using keys that are equal to category identifiers. For example, all messages
for vehicle A must have the key A and all messages from the region
California must have the California key.
To learn more, see Features and terminology in Azure Event Hubs
Updated 2 days ago