Facilitating the Spread of Knowledge and Innovation in Professional Software Development

Write for InfoQ


Choose your language

InfoQ Homepage News Microsoft Updates Azure Event Grid with Event Domains, Advanced Filtering Features and More

Microsoft Updates Azure Event Grid with Event Domains, Advanced Filtering Features and More

Leia em Português

With Event Grid, customers can manage all their events in one place in Azure. Recently, Microsoft announced enhancements to this service with two new features, advanced filters, and Event Domains. Furthermore, the team responsible for Event Grid has been working to improve the developer experience, and has made Event Grid available in more regions.

The evolution of Azure Event Grid continues after its general availability in February of this year, and the added support for Cloud Events later in June, and integration with the IoT Hub in September. The Service Bus engineering team responsible for Event Grid has now added a "Event Domains" feature, built several new types of advanced filters, updated some of their SDKs, added a time-to-live feature for Event Subscriptions, and also added Portal UI support for configuring dead-lettering and retry policies.

With Event Domains, customers can get fine-grained authorization and authentication control over each topic via the Azure Active Directory, which lets them easily select which of their tenants or customers has access to subscribe to each of the Event Grid topics. Bahram Banisadr, program manager, Event Grid told InfoQ:

Our aim is to give customers a way of managing and partitioning topics when they are creating complex and multitenant architectures. A Domain is really nothing more than an uber-topic that can manage the authentication, authorization, and publishing for thousands of topics at once. We’ve taken the architecture we built to allow Azure services to publish events to customers and we’ve made it available for anyone to use.

The Event Domain feature also handles partitioning, which means instead of needing to publish events to each topic individually, customers can publish all their events to the Domain’s endpoint. Subsequently, Event Grid takes care of ensuring each event will be sent to the correct topic. Banisadr also told InfoQ some of the scenarios where Event Domains can be useful:

There are multiple scenarios in which a Domain might be helpful – for example, if you’re handling sensitive data within your company, and you only want teams to be able to subscribe to topics on a need to know basis, you could easily create a topic per data-type and use managed access controls to allow teams to only subscribe to events they should have access to.

Alternatively, if you produce IoT devices for smart homes, you have a constraint of not wanting a device in home A to be able to subscribe to events meant for home B. You probably also don’t want to deal with the headache of publishing events to each home in your network individually. An Event Domain would be able to partition each home as its own topic, and all of your events would only have to be published to the Domain’s endpoint – Event Grid will take care of publishing the events to the proper topics.


The second feature, advanced filters, will allow customers to use several new types of filters such as numerical, string, and Boolean. With these filters, customers will have a set of operators for each data type and more fields available to run them on. Thus, customers will have more control over what events are routed where, and can ensure only the required events are accessed by the compute services handling them.

Furthermore, advanced filters support filtering on envelope properties (such as DataVersion, Id, and Topic), as well as the first layer of the data payload. Banisadr told InfoQ the following on advanced filtering:

Advanced filtering is probably our most highly requested customer feature to date. Filtering of events in Event Grid makes it so that you don’t have to do filtering on the publisher side, or on the event handler’s side. Instead, the publisher sends merely all relevant data, but using filters; the event handler only receives the specific subset of data that it has said it is interested in.

Adding filters like "string contains", Boolean or "number is greater than" allows for much more precise and high fidelity filtering. When we talk about building event-based reactive programs, it is vital that our event handler only is triggered on the proper set of conditions. The advanced filters we just released does just that.

In addition to the features, Microsoft updated some of the Event Grid SDKs, specifically the Java, .NET and Go SDKs to make consuming Azure Native Events even easier. The engineering team has also added a time to live (TTL) feature for Event Subscriptions, allowing customers to configure a live time, at creation, for an Event Subscription after which it automatically gets cleaned up. Besides the updated SDKs and Event Subscription TTL feature, the team added Portal UI support for configuring dead-lettering and retry policies.

Lastly, Microsoft increased the availability of Azure Event Grid to US Gov Arizona, Texas, and Virginia regions. Moreover, the availability in these regions will include all the new features and developer improvements. The pricing details of Azure Event Grid are available on the pricing page.

Rate this Article