Azure Event Hubs

Most recent version: v1.0.0

See the changelog of this Listener type here.

Overview

Onum supports integration with Azure Event Hubs

The Azure Event Hubs Listener receives messages from an Azure Event Hub for real-time data streaming, providing support for message batching, retries, and secure connection options.

Select Azure Event Hubs from the list of Listener types and click Configuration to start.

Listener configuration

Now you need to specify how and where to collect the data, and how to establish a connection with Microsoft Azure Event Hubs.

Metadata

Enter the basic information for the new Listener.

Parameter
Description

Name*

Enter a name for the new Listener.

Description

Optionally, enter a description for the Listener.

Tags

Add tags to easily identify your Listener. Hit the Enter key after you define each tag.


Configuration

Now, add the configuration to establish the connection.

Event Hub Connection

Parameter
Description

Event Hub Namespace*

Enter the namespace to connect to (e.g. my-namespace.servicebus.windows.net). You can find this in the top left-hand corner of you Azure area.

Event Hub Name*

Click your Event Hubs namespace to view the Hubs it contains in the middle pane. Alternatively, click Event Hub to create one.

Consumer Group

In the left-hand menu, scroll down to Entities and click Consumer groups to see the names. This value is $Default when empty.

Authentication

Parameter
Description

Authentication Method*

  • Connection String

    • Connection String* The URL for your Event Hub. To get it:

      1. Click your Event Hubs namespace to view the Hubs it contains.

      2. Scroll down to the bottom and click the specific event hub to connect to.

      3. In the left menu, go to Shared Access Policies.

      4. If there is no policy created for an event hub, create one with Manage, Send, or Listen access.

      5. Select the policy from the list.

      6. Select the copy button next to the Connection string-primary key field.

      Depending on the version of Azure you are using, the corresponding field may have a different name, so to help you find it, look for a string with the same format: Endpoint=sb://.servicebus.windows.net/; SharedAccessKeyName=RootManageSharedAccessKey; SharedAccessKey=

  • Entra ID - enter the following credentials from the Certificates & Secrets area

    • Tenant ID*

    • Client ID*

    • Client Secret*

Checkpointing & Processor

When multiple consumer instances read from the same Event Hub and consumer group, a cooperative processor coordinates partition ownership and progress using a checkpoint store (Azure Blob Storage).

  • Ensures at-least-once processing without duplicates when instances restart: committed checkpoints allow new owners to resume from the last processed offset instead of re-reading the whole partition.

  • Evenly distributes partitions across active instances (load balancing): with the balanced strategy, ownership is redistributed as instances join/leave; greedy tries to acquire as many partitions as possible.

  • Enables safe horizontal scaling: adding instances increases throughput by processing multiple partitions in parallel.

Learn more in the Azure Event Hubs documentation:

Parameter
Description

Storage Container Name*

In the left-hand menu, scroll down to Resource groups, where you will see a list of all the storage containers within your Event Hub. In Onum, enter the name of the blob container to persist checkpoints and ownership.

Storage Connection String*

This parameter is a secret, therefore you must add this string in the Secrets area, or select it from the list if you have already done so.

See here for where to find it in the Azure portal.

Processor Options

Parameter
Description

Load Balancing Strategy

Choose how to distribute the work evenly across the server to avoid overload.

  • Balanced - distributes load evenly across all servers.

  • Greedy - assigns each new task immediately to the currently leadt-loaded server.

Update Interval (ms)

How often a processor renews partition ownership; defaults to 10000ms if unset.

Partition Expiration Duration (ms)

Enter a time limit in milliseconds, after which the load partition will be considered expired and can be claimed by other instances.

Use batch

When false, the handler processes events one-by-one using internal defaults (maxBatchSize=1, maxWaitTimeMs=500). When true, batch processing settings apply.

Parameter
Description

Max Batch Size*

Enter the maximum bytes for the batch.

Max Wait Time*

Enter the maximum amount of milliseconds to wait before considering the batch as complete.

Backoff Settings

Add the settings regarding how long to wait before retrying a request after failure.

Parameter
Description

Error Backoff (ms)

Enter the amount of milliseconds to wait after an error before retrying.

Idle Backoff (ms)

Enter the amount of milliseconds to wait before trying again to send a request.

Message Processing

Parameter
Description

Decompression

Choose the method used to restore a compressed message to its original form before being processed (none, gzip or zlib)

Split Strategy

Choose the method of dividing the data or requests from the following delimiter options:

  • None to ignore

  • Newline

  • JSON array

  • JSON object

  • Custom Delimiter

    • Custom Delimiter - enter your custom delimiter here.

Click Create labels to move on to the next step and define the required Labels if needed.

Last updated

Was this helpful?