Skip to main content

How to connect to Azure Event Hub

Orchestrate uses Kafka to exchange messages between different micro-services and to notify users about transaction events on the connected chains. Orchestrate can integrate with Azure Event Hub as an alternative for Kafka as Azure Event Hub provides compatible Kafka interfaces.


To create an Azure Event Hub resource, refer to the Azure Event Hub documentation.

Configure SASL Connection

To configure Orchestrate with Azure Event Hub, configure the following environment variables:

Environment VariableCommand line optionDescriptionValue
KAFKA_TLS_ENABLEDkafka-tls-enabledWhether or not to use TLS when connecting to the brokertrue
KAFKA_SASL_ENABLEDkafka-sasl-enabledWhether or not to use SASL authentication when connecting to the brokertrue
KAFKA_SASL_USERkafka-sasl-userUsername for SASL/PLAIN or SASL/SCRAM auth$ConnectionString

If you don't have Azure certificates as a valid authority on your machine, disable the TLS verification by using the following command:


Configure personal connection details

After configuring the previous options, configure Kafka for your personal Event Hub resource.

Environment VariableCommand line optionDescriptionExample
KAFKA_URLkafka-urlList of URLs of Kafka servers to connect
KAFKA_SASL_PASSWORDkafka-sasl-passwordPassword for SASL/PLAIN or SASL/SCRAM authEndpoint=sb://;SharedAccessKeyName=RootManageSharedAccessKey;SharedAccessKey=$$$$$$$$$$$$$

Kafka topics

Orchestrate requires the following three topics to work. They are created automatically, so make sure your user credentials are set to allow this action.

Environment VariableDescriptionDefault
TOPIC_TX_SENDERTopic for messages between the API and the Tx-Sendertopic-tx-sender
TOPIC_TX_DECODEDTopic for successful transaction messages (receipts)topic-tx-decoded
TOPIC_TX_RECOVERTopic for failed transaction messagestopic-tx-recover