You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: articles/digital-twins/concepts-event-notifications.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -151,7 +151,7 @@ An example message body, populated in AMQP's *data* section:
151
151
---
152
152
153
153
>[!NOTE]
154
-
> Azure Digital Twins currently doesn't support [filtering events](how-to-manage-routes.md#filter-events) based on fields within an array. This includes filtering on properties within a `patch` section of a digital twin change notification.
154
+
> Azure Digital Twins currently doesn't support [filtering events](how-to-create-routes.md#filter-events) based on fields within an array. This includes filtering on properties within a `patch` section of a digital twin change notification.
Copy file name to clipboardExpand all lines: articles/digital-twins/concepts-route-events.md
+15-11Lines changed: 15 additions & 11 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -5,7 +5,7 @@ titleSuffix: Azure Digital Twins
5
5
description: Learn how to route Azure Digital Twins events, both within the service and externally to other Azure services.
6
6
author: baanders
7
7
ms.author: baanders # Microsoft employees only
8
-
ms.date: 11/15/2022
8
+
ms.date: 02/08/2023
9
9
ms.topic: conceptual
10
10
ms.service: digital-twins
11
11
ms.custom: contperf-fy23q1
@@ -18,11 +18,11 @@ ms.custom: contperf-fy23q1
18
18
19
19
# Route Azure Digital Twins events
20
20
21
-
Azure Digital Twins uses *event routes*to send event data, both for routing events internally within Azure Digital Twins, and for sending event data externally to consumers outside the service.
21
+
This article describes the process that Azure Digital Twins uses to send event data, both for routing events internally within Azure Digital Twins, and for sending event data externally to downstream services or connected compute resources outside the service.
22
22
23
-
This article describes how event routes work, including the process of setting up *endpoints*, and then setting up event routes connected to the endpoints. It also explains what happens when an endpoint fails to deliver an event in time (a process known as *dead lettering*).
23
+
Routing [event notifications](concepts-event-notifications.md) from Azure Digital Twins is a two-step process: create *endpoints*, then create *event routes* to send data to those endpoints. This article goes into more detail on each of these concepts. It also explains what happens when an endpoint fails to deliver an event in time (a process known as *dead lettering*).
24
24
25
-
## About event routes
25
+
## Event routing overview
26
26
27
27
There are two main scenarios for sending Azure Digital Twins data, and event routes are used to accomplish both:
28
28
* Sending event data from one twin in the Azure Digital Twins graph to another. For instance, when a property on one digital twin changes, you may want to notify and update another digital twin based on the updated data.
@@ -48,14 +48,14 @@ The compute resource also needs to establish security and access permissions ind
48
48
49
49
To walk through the process of setting up an Azure function to process digital twin events, see [Set up twin-to-twin event handling](how-to-send-twin-to-twin-events.md).
50
50
51
-
## Create an endpoint
51
+
## Creating endpoints
52
52
53
53
To define an event route, developers first must define endpoints. An *endpoint* is a destination outside of Azure Digital Twins that supports a route connection. Supported destinations include:
54
54
* Event Grid custom topics
55
55
* Event Hubs
56
56
* Service Bus
57
57
58
-
To [create an endpoint](how-to-manage-routes.md#create-an-endpoint-for-azure-digital-twins), you can use the Azure Digital Twins REST APIs, CLI commands, or the Azure portal.
58
+
To create an endpoint, you can use the Azure Digital Twins REST APIs, CLI commands, or the Azure portal.
59
59
60
60
When defining an endpoint, you'll need to provide:
61
61
* The endpoint's name
@@ -71,23 +71,27 @@ The endpoint APIs that are available in control plane are:
71
71
* Get endpoint by name
72
72
* Delete endpoint by name
73
73
74
-
## Create an event route
74
+
For detailed instructions on creating an endpoint, see [Create endpoints](how-to-create-endpoints.md).
75
+
76
+
## Creating event routes
75
77
76
-
To [create an event route](how-to-manage-routes.md#create-an-event-route), you can use the Azure Digital Twins REST APIs, CLI commands, or the Azure portal.
78
+
To create an *event route*, you can use the Azure Digital Twins REST APIs, CLI commands, or the Azure portal.
77
79
78
80
Here's an example of creating an event route within a client application, using the `CreateOrReplaceEventRouteAsync`[.NET (C#) SDK](/dotnet/api/overview/azure/digitaltwins.core-readme) call:
1. First, a `DigitalTwinsEventRoute` object is created, and the constructor takes the name of an endpoint. This `endpointName` field identifies an endpoint such as an Event Hubs, Event Grid, or Service Bus. These endpoints must be created in your subscription and attached to Azure Digital Twins using control plane APIs before making this registration call.
83
85
84
-
2. The event route object also has a [Filter](how-to-manage-routes.md#filter-events) field, which can be used to restrict the types of events that follow this route. A filter of `true` enables the route with no extra filtering (a filter of `false` disables the route).
86
+
2. The event route object also has a [Filter](how-to-create-routes.md#filter-events) field, which can be used to restrict the types of events that follow this route. A filter of `true` enables the route with no extra filtering (a filter of `false` disables the route).
85
87
86
88
3. This event route object is then passed to `CreateOrReplaceEventRouteAsync`, along with a name for the route.
87
89
88
90
> [!TIP]
89
91
> All SDK functions come in synchronous and asynchronous versions.
90
92
93
+
For detailed instructions on creating event routes, see [Create routes and filters](how-to-create-routes.md).
94
+
91
95
## Dead-letter events
92
96
93
97
When an endpoint can't deliver an event within a certain time period or after trying to deliver the event several times, it can send the undelivered event to a storage account. This process is known as *dead-lettering*. Azure Digital Twins will dead-letter an event when one of the following conditions is met:
@@ -102,7 +106,7 @@ Before setting the dead-letter location, you must have a storage account with a
102
106
103
107
To learn more about SAS tokens, see: [Grant limited access to Azure Storage resources using shared access signatures (SAS)](../storage/common/storage-sas-overview.md)
104
108
105
-
To learn how to set up an endpoint with dead-lettering, see [Manage endpoints and routes in Azure Digital Twins](how-to-manage-routes.md#create-an-endpoint-with-dead-lettering).
109
+
To learn how to set up an endpoint with dead-lettering, see [Endpoint options: Dead-lettering](how-to-create-endpoints.md#endpoint-options-dead-lettering).
106
110
107
111
### Types of event messages
108
112
@@ -113,7 +117,7 @@ Different types of events in IoT Hub and Azure Digital Twins produce different t
113
117
## Next steps
114
118
115
119
Continue to the step-by-step instructions for setting up endpoints and event routes:
116
-
*[Manage endpoints and routes](how-to-manage-routes.md)
120
+
*[Create endpoints](how-to-create-endpoints.md) and [Create routes and filters](how-to-create-routes.md)
117
121
118
122
Or, follow this walkthrough to set up an Azure Function for twin-to-twin event handling within Azure Digital Twins:
119
123
*[Set up twin-to-twin event handling](how-to-send-twin-to-twin-events.md).
Copy file name to clipboardExpand all lines: articles/digital-twins/concepts-security.md
+2-2Lines changed: 2 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -93,9 +93,9 @@ Setting up an [Azure Active Directory (Azure AD)](../active-directory/fundamenta
93
93
94
94
Azure Digital Twins supports both types of managed identities, *system-assigned* and *user-assigned*.
95
95
96
-
You can use either of these managed identity types to authenticate to a [custom-defined endpoint](concepts-route-events.md#create-an-endpoint). Azure Digital Twins supports identity-based authentication to endpoints for [Event Hubs](../event-hubs/event-hubs-about.md) and [Service Bus](../service-bus-messaging/service-bus-messaging-overview.md) destinations, and to an [Azure Storage Container](../storage/blobs/storage-blobs-introduction.md) endpoint for [dead-letter events](concepts-route-events.md#dead-letter-events). [Event Grid](../event-grid/overview.md) endpoints are currently not supported for managed identities.
96
+
You can use either of these managed identity types to authenticate to a [custom-defined endpoint](concepts-route-events.md#creating-endpoints). Azure Digital Twins supports identity-based authentication to endpoints for [Event Hubs](../event-hubs/event-hubs-about.md) and [Service Bus](../service-bus-messaging/service-bus-messaging-overview.md) destinations, and to an [Azure Storage Container](../storage/blobs/storage-blobs-introduction.md) endpoint for [dead-letter events](concepts-route-events.md#dead-letter-events). [Event Grid](../event-grid/overview.md) endpoints are currently not supported for managed identities.
97
97
98
-
For instructions on how to enable a managed identity for Azure Digital Twins and use it to route events, see [Route events with a managed identity](how-to-route-with-managed-identity.md).
98
+
For instructions on how to enable a managed identity for an Azure Digital Twins endpoint that can be used to route events, see [Endpoint options: Identity-based authentication](how-to-create-endpoints.md#endpoint-options-identity-based-authentication).
0 commit comments