MessageHandler MH Sign Up

Event Processing Quickstart

E

This quickstart gives you an example implementation of event processing.

CLONE

Clone the source code from Github before you get started.

Scenario

In this scenario the event processor will inspect the SensorValueChanged events (emitted by the event generator) and computes the average value over a time period of 10 seconds.

What you need to get started

Running the sample

Prior to being able to run the sample, you need to configure the user secrets file.

In the secrets file you must specify the following configuration values.

{
  "eventhubsnamespace": "your event hubs connection string goes here",
  "azurestoragedata": "your storage connection string goes here"
}

Also ensure an event hub named receivehub and sendhub is created up front in the eventhubs namespace.

And a container named leases should be present in the azure storage account.

Once configured you can start the worker or run the unittests.

Designed with testing in mind

MessageHandler is intented to be test friendly.

This sample contains plenty of ideas on how to test an event processor without requiring a dependency on an actual broker instance, nor storage account, and thus keep the tests fast.

  • Component tests: To test the interaction between the event processor and the receive infrastructure.
  • Contract tests: To verify that the test doubles used in the component tests are behaving the same as an actual dependency would. Note: contract verification files are often shared between producers and consumers of the contract.

How to implement it yourself

Check out this how to guide to learn how to configure a stream processing pipeline.

Sign up to our newsletter to get notified about new content and releases

You can unsubscribe at any time by clicking the link in the footer of your emails. I use Mailchimp as my marketing platform. By clicking subscribe, you acknowledge that your information will be transferred to Mailchimp for processing. Learn more about Mailchimp's privacy practices here.