Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

What are the options for local development with Azure Event Hubs?

Tags:

I am looking to start a new project using Azure Event Hubs. Part of the project is a set of integration tests that can be run from any development machine (plus CI). In the past, I've used the local emulators (e.g., Cosmos DB, Storage, Service Fabric, etc.) for this purpose. That way dev machines don't need real cloud credentials and have an isolated environment. However, it appears that Event Hubs do not have a local emulator.

Is there an Event Hubs emulator that I missed? If not, would a AMQP service be a good alternative? Are there any that would be decent approximation for Event Hubs?

Thanks


I created a feedback item for this. Please vote it up if this would be useful to you!

https://feedback.azure.com/forums/34192--general-feedback/suggestions/31852534-provide-a-local-emulator-for-azure-event-hubs

like image 998
Erick T Avatar asked Oct 09 '17 17:10

Erick T


People also ask

What are the different protocols supported for sending events to event hub?

Azure Event Hubs supports three protocols for consumers and producers: AMQP, Kafka, and HTTPS.

What is azure event hubs used for?

Azure Event Hubs is a big data streaming platform and event ingestion service. It can receive and process millions of events per second. Data sent to an event hub can be transformed and stored by using any real-time analytics provider or batching/storage adapters.

Is Azure event hub same as Kafka?

Does Azure Event Hubs run on Apache Kafka? No. Azure Event Hubs is a cloud-native multi-tier broker with support for multiple protocols that is developed and maintained by Microsoft and does not use any Apache Kafka code.

What is the difference between Azure event hub and event grid?

The noticeable difference between them is that Event Hubs are accepting only endpoints for the ingestion of data and they don't provide a mechanism for sending data back to publishers. On the other hand, Event Grid sends HTTP requests to notify events that happen in publishers.


2 Answers

Azure Event Hubs does not have an emulator that can be installed locally. You'll need to create an Event Hubs instance in Azure and use that for development and testing purposes.

like image 187
Chris Pietschmann Avatar answered Sep 19 '22 13:09

Chris Pietschmann


One option is to connect to the Kafka endpoint, and test your application as a Kafka application.

https://docs.microsoft.com/en-us/azure/event-hubs/event-hubs-for-kafka-ecosystem-overview

It may not be elegant, but apparently there aren't many good options out there. It will at least make it easier to migrate to Kafka later, if needed.

like image 28
Lars Christian Jensen Avatar answered Sep 20 '22 13:09

Lars Christian Jensen