This browser is no longer supported.
Upgrade to Microsoft Edge to take advantage of the latest features, security updates, and technical support.
Note
Access to this page requires authorization. You can trysigning in orchanging directories.
Access to this page requires authorization. You can trychanging directories.
An Event Grid topic provides an endpoint where the source sends events. The publisher creates an Event Grid topic, and decides whether an event source needs one topic or more than one topic. A topic is used for a collection of related events. To respond to certain types of events, subscribers decide which topics to subscribe to.
Custom topics are application and third-party topics. When you create or are given access to a custom topic, you see that custom topic in your subscription. Custom topics supportpush delivery. Consultwhen to use pull or push delivery to help you decide if push delivery is the right approach given your requirements.
When designing your application, you have to decide how many topics to create. For relatively large solutions, create acustom topic foreach category of related events. For example, consider an application that manages user accounts and another application about customer orders. It's unlikely that all event subscribers want events from both applications. To segregate concerns, create two topics: one for each application. Let event handlers subscribe to the topic according to their requirements. For small solutions, you might prefer to send all events to a single topic. Event subscribers can filter for the event types they want.
Custom topics supports two types of event schemas: Cloud events and Event Grid schema.
In addition to itsdefault event schema, Azure Event Grid natively supports events in theJSON implementation of CloudEvents v1.0 andHTTP protocol binding.CloudEvents is anopen specification for describing event data.
CloudEvents simplifies interoperability by providing a common event schema for publishing and consuming events. This schema allows for uniform tooling, standard ways of routing & handling events, and a common way to deserialize your events. With a common schema, you can more easily integrate work across platforms.
Note
For more information, seeCloud event schema.
When you use Event Grid event schema, you can specify your application-specific properties in thedata object.
[ { "topic": string, "subject": string, "id": string, "eventType": string, "eventTime": string, "data":{ object-unique-to-each-publisher }, "dataVersion": string, "metadataVersion": string }]Note
For more information, seeEvent Grid event schema.
The following sections provide links to tutorials to create custom topics using Azure portal, CLI, PowerShell, and Azure Resource Manager (ARM) templates.
The following quickstarts or tutorials show you how to create a topic, send evens to the topic's endpoint, and route them to supported destinations by using the Azure portal.
| Title | Description |
|---|---|
| Quickstart: create and route custom events with the Azure portal | Shows how to use the portal to send custom events. |
| Quickstart: route custom events to Azure Queue storage | Describes how to send custom events to a Queue storage. |
| How to: post to custom topic | Shows how to post an event to a custom topic. |
The following quickstarts or tutorials show you how to create a topic, send evens to the topic's endpoint, and route them to supported destinations by using Azure CLI.
| Title | Description |
|---|---|
| Quickstart: create and route custom events with Azure CLI | Shows how to use Azure CLI to send custom events. |
| Azure CLI: create Event Grid custom topic | Sample script that creates a custom topic. The script retrieves the endpoint and a key. |
| Azure CLI: subscribe to events for a custom topic | Sample script that creates a subscription for a custom topic. It sends events to a WebHook. |
The following quickstarts or tutorials show you how to create a topic, send evens to the topic's endpoint, and route them to supported destinations by using Azure PowerShell.
| Title | Description |
|---|---|
| Quickstart: create and route custom events with Azure PowerShell | Shows how to use Azure PowerShell to send custom events. |
| PowerShell: create Event Grid custom topic | Sample script that creates a custom topic. The script retrieves the endpoint and a key. |
| PowerShell: subscribe to events for a custom topic | Sample script that creates a subscription for a custom topic. It sends events to a WebHook. |
The following quickstarts or tutorials show you how to create a topic and create a subscription to the topic by using ARM templates.
| Title | Description |
|---|---|
| Resource Manager template: custom topic and WebHook endpoint | A Resource Manager template that creates a custom topic and subscription for that custom topic. It sends events to a WebHook. |
| Resource Manager template: custom topic and Event Hubs endpoint | A Resource Manager template that creates a subscription for a custom topic. It sends events to an Azure Event Hubs. |
Note
Azure Digital Twins can route event notifications to custom topics that you create with Event Grid. For more information, seeEndpoints and event routes in the Azure Digital Twins documentation.
See the following articles:
Was this page helpful?
Need help with this topic?
Want to try using Ask Learn to clarify or guide you through this topic?
Was this page helpful?
Want to try using Ask Learn to clarify or guide you through this topic?