Azure Event Hubs is a data streaming platform and an event ingestion service. It provides a Kafka endpoint which can be used by your existing Kafka-based applications as an alternative to running your own Kafka clusters.

RudderStack supports Azure Event Hubs as a destination to which you can seamlessly send your event data.

RudderStack does not support the Basic tier of Azure Event Hubs. For this integration to work, you need to have a standard tier (or higher) of Event Hubs which includes an Apache Kafka endpoint.

For more information, refer to the Event Hubs' pricing page.

Find the open source transformer code for this destination in the GitHub repository.

Getting started

To enable sending data to Azure Event Hubs, you need to add it as a destination in RudderStack. Once the destination is enabled, events from RudderStack will start to flow to Azure Event Hubs.

Before configuring your source and destination in RudderStack, check whether the source platform is supported by Azure Event Hubs by referring to the table below:

Connection ModeWebMobileServer
Device Mode---
Cloud ModeSupportedSupportedSupported
To know more about the difference between cloud mode and device mode in RudderStack, refer to the RudderStack Connection Modes guide.

Once you have confirmed that the platform supports sending events to Azure Event Hubs, perform the steps as mentioned below:

  • Choose a source to which you would like to add Azure Event Hubs as a destination.
  • Select the destination as Azure Event Hubs. Give your destination a name, and then click on Next.
  • In the Connection Settings, **fill the required fields with the relevant information and click Next.**
Azure Event Hubs Connection Settings Azure Event Hubs Connection Settings

Connection Settings

This section lists the required connection settings to configure Event Hubs as a destination in RudderStack.

  • Bootstrap server: The bootstrap server information goes here. This is in the formathostname of your event hub namespace:port
  • Topic Name: The topic name, or the name of the Event Hub that you have created in your Azure portal.
  • Event Hubs Connection String: Your Event Hubs' primary connection string. For more information, refer to Microsoft's How to get Event hubs connection string guide.

Partition Key

RudderStack uses userId as the partition key of a given message.

If the userId is not present in the payload, then anonymousId is used.

If you have a multi-partitioned topic, then the records of the same userId (or anonymousId in absence of userId) will always go to the same partition.

FAQs

What is my Bootstrap server address?

The Bootstrap server address is in the following format:

hostname of Event Hub namespace: port

For example: NAMESPACENAME.servicebus.windows.net:9093

Here NAMESPACENAME is your event hubs namespace, while 9093 is the port number.

Where can I get the Topic name?

The Topic name is the name of the Event Hub that you have created in your Azure portal.

Where can I get the Event Hubs connection string?

Event Hubs connection string is the primary connection string of your shared access policy. For more information, refer to Microsoft's How to get Event hubs connection string guide.

Why am I getting the "The client is not authorized to access this topic" error?

Check whether you are using the proper Event Hubs connection string for the policy that you have created.

You need to create a policy to write to the Event Hub with a Send permission, and put the corresponding primary connection string in the destination settings, as described in the Getting Started section of this guide.

Contact us

If you come across any issues while configuring or using Azure Event Hubs with RudderStack, feel free to contact us or start a conversation in our Slack community.

Contents