Azure Event Hubs is a highly scalable publish-subscribe service that can ingest millions of events per second and stream them into multiple applications. This lets you process and analyze the massive amounts of data produced by your connected devices and applications. Once Event Hubs has collected the data, you can retrieve, transform and store it by using any real-time analytics provider or with batching/storage adapters.
The Azure Events Hubs client library for .NET allows for both sending and receiving of events. Most common scenarios call for an application to act as either an event publisher or an event consumer, but rarely both.
An event publisher is a source of telemetry data, diagnostics information, usage logs, or other log data, as part of an embedded device solution, a mobile device application, a game title running on a console or other device, some client or server based business solution, or a web site.
An event consumer picks up such information from the Event Hub and processes it. Processing may involve aggregation, complex computation and filtering. Processing may also involve distribution or storage of the information in a raw or transformed fashion. Event Hub consumers are often robust and high-scale platform infrastructure parts with built-in analytics capabilities, like Azure Stream Analytics, Apache Spark, or Apache Storm.
This directory contains the open source subset of the .NET SDK. For documentation of the complete Azure SDK, please see the Microsoft Azure .NET Developer Center.
Use the client library for Event Hubs to:
-
Emit telemetry about your application for business intelligence and diagnostic purposes.
-
Publish facts about the state of your application which interested parties may observe and use as a trigger for taking action.
-
Observe interesting operations and interactions happening within your business or other ecosystem, allowing loosely coupled systems to interact without the need to bind them together.
-
Receive events from one or more publishers, transform them to better meet the needs of your ecosystem, then publish the transformed events to a new stream for consumers to observe.
Source code | Package (NuGet) | API reference documentation | Product documentation
The complete Microsoft Azure SDK can be downloaded from the Microsoft Azure Downloads Page and ships with support for building deployment packages, integrating with tooling, rich command line tooling, and more.
If you are not already familiar with Azure Event Hubs, please review: What is Event Hubs?.
For the best development experience, developers should use the official Microsoft NuGet packages for libraries. NuGet packages are regularly updated with new functionality and hotfixes.
-
Microsoft Azure Subscription: To call Microsoft Azure services, including Azure Event Hubs, you need to first create an account. If you do not have an existing Azure account, you may sign up for a free trial or use your MSDN subscriber benefits.
-
The Azure Event Hubs client library shares the same Prerequisites as the Microsoft Azure SDK for .NET.
Code samples for the Azure Event Hubs client library that detail how to get started and how to implement common scenarios can be found in the following locations:
- Azure Code Samples
- Azure Event Hubs Documentation
- Azure Event Hubs Sample Repository
- Azure Event Hubs Notification Sample
- Azure Event Hubs Publishing Sample
For information on building the Azure Event Hubs client library, please see Building the Microsoft Azure SDK for .NET
-
Deploy the Azure Resource Manager template located at /sdk/eventhub/Microsoft.Azure.EventHubs/assets/azure-deploy-test-dependencies.json by clicking the following button:
Running the above template will provision a standard Event Hubs namespace along with the required entities to successfully run the unit tests.
-
Add an Environment Variable named
EVENT_HUBS_CONNECTION_STRING
and set the value as the connection string of the newly created namespace. Please note that if you are using Visual Studio, you must restart Visual Studio in order to use new Environment Variables. -
Add an Environment Variable named
EVENT_HUBS_STORAGE_CONNECTION_STRING
and set the value as the connection string of the newly created storage account. Please note that if you are using Visual Studio, you must restart Visual Studio in order to use new Environment Variables.
Once you have completed the above, you can run dotnet test
from the /sdk/eventhub/Microsoft.Azure.EventHubs/tests
directory.
For additional insight and context, the development, release, and issue history for the Azure Event Hubs client library will continue to be available in read-only form, located in the stand-alone Azure Event Hubs .NET repository.
The Azure Event Hubs client library uses the semantic versioning scheme.
For information about the target frameworks of the Azure Event Hubs client library, please refer to the Target Frameworks of the Microsoft Azure SDK for .NET.
This project has adopted the Microsoft Open Source Code of Conduct. For more information see the Code of Conduct FAQ or contact [email protected] with any additional questions or comments.