Skip to content

Commit af00050

Browse files
authored
Merge pull request #224173 from baanders/1-17-managed-endpoint
ADT: Reorganize endpoint/route content (2 articles)
2 parents 9995621 + ccf4abc commit af00050

32 files changed

+622
-609
lines changed

articles/digital-twins/.openpublishing.redirection.digital-twins.json

Lines changed: 15 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,15 @@
11
{
22
"redirections": [
3+
{
4+
"source_path": "how-to-manage-routes.md",
5+
"redirect_url": "/azure/digital-twins/how-to-create-routes",
6+
"redirect_document_id": false
7+
},
8+
{
9+
"source_path": "how-to-route-with-managed-identity.md",
10+
"redirect_url": "/azure/digital-twins/how-to-create-endpoints#endpoint-options-identity-based-authentication",
11+
"redirect_document_id": false
12+
},
313
{
414
"source_path": "how-to-integrate-logic-apps.md",
515
"redirect_url": "/azure/digital-twins/how-to-use-power-platform-logic-apps-connector",
@@ -112,12 +122,12 @@
112122
},
113123
{
114124
"source_path": "how-to-enable-managed-identities-portal.md",
115-
"redirect_url": "/azure/digital-twins/how-to-route-with-managed-identity",
125+
"redirect_url": "/azure/digital-twins/how-to-set-up-instance-portal#enable-disable-managed-identity-for-the-instance",
116126
"redirect_document_id": false
117127
},
118128
{
119129
"source_path": "how-to-enable-managed-identities-cli.md",
120-
"redirect_url": "/azure/digital-twins/how-to-route-with-managed-identity",
130+
"redirect_url": "/azure/digital-twins/how-to-set-up-instance-cli#enable-disable-managed-identity-for-the-instance",
121131
"redirect_document_id": false
122132
},
123133
{
@@ -143,12 +153,12 @@
143153

144154
{
145155
"source_path": "how-to-manage-routes-apis-cli.md",
146-
"redirect_url": "/azure/digital-twins/how-to-manage-routes",
156+
"redirect_url": "/azure/digital-twins/how-to-create-routes",
147157
"redirect_document_id": false
148158
},
149159
{
150160
"source_path": "how-to-manage-routes-portal.md",
151-
"redirect_url": "/azure/digital-twins/how-to-manage-routes",
161+
"redirect_url": "/azure/digital-twins/how-to-create-routes",
152162
"redirect_document_id": false
153163
},
154164

@@ -234,7 +244,7 @@
234244
},
235245
{
236246
"source_path": "how-to-egress-endpoints.md",
237-
"redirect_url": "/azure/digital-twins/how-to-manage-routes",
247+
"redirect_url": "/azure/digital-twins/how-to-create-routes",
238248
"redirect_document_id": false
239249
},
240250
{

articles/digital-twins/TOC.yml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -123,10 +123,10 @@
123123
href: how-to-use-power-platform-logic-apps-connector.md
124124
- name: Connect output
125125
items:
126-
- name: Manage endpoints and routes
127-
href: how-to-manage-routes.md
128-
- name: Route events with a managed identity
129-
href: how-to-route-with-managed-identity.md
126+
- name: Create endpoints
127+
href: how-to-create-endpoints.md
128+
- name: Create routes and filters
129+
href: how-to-create-routes.md
130130
- name: Use data history with Azure Data Explorer
131131
href: how-to-use-data-history.md
132132
- name: Integrate with Azure Time Series Insights

articles/digital-twins/concepts-event-notifications.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -151,7 +151,7 @@ An example message body, populated in AMQP's *data* section:
151151
---
152152

153153
>[!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.
155155
156156
## Digital twin lifecycle notifications
157157

articles/digital-twins/concepts-route-events.md

Lines changed: 15 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ titleSuffix: Azure Digital Twins
55
description: Learn how to route Azure Digital Twins events, both within the service and externally to other Azure services.
66
author: baanders
77
ms.author: baanders # Microsoft employees only
8-
ms.date: 11/15/2022
8+
ms.date: 02/08/2023
99
ms.topic: conceptual
1010
ms.service: digital-twins
1111
ms.custom: contperf-fy23q1
@@ -18,11 +18,11 @@ ms.custom: contperf-fy23q1
1818

1919
# Route Azure Digital Twins events
2020

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.
2222

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*).
2424

25-
## About event routes
25+
## Event routing overview
2626

2727
There are two main scenarios for sending Azure Digital Twins data, and event routes are used to accomplish both:
2828
* 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
4848

4949
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).
5050

51-
## Create an endpoint
51+
## Creating endpoints
5252

5353
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:
5454
* Event Grid custom topics
5555
* Event Hubs
5656
* Service Bus
5757

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.
5959

6060
When defining an endpoint, you'll need to provide:
6161
* The endpoint's name
@@ -71,23 +71,27 @@ The endpoint APIs that are available in control plane are:
7171
* Get endpoint by name
7272
* Delete endpoint by name
7373

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
7577

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.
7779

7880
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:
7981

8082
:::code language="csharp" source="~/digital-twins-docs-samples/sdks/csharp/eventRoute_operations.cs" id="CreateEventRoute":::
8183

8284
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.
8385

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).
8587

8688
3. This event route object is then passed to `CreateOrReplaceEventRouteAsync`, along with a name for the route.
8789

8890
> [!TIP]
8991
> All SDK functions come in synchronous and asynchronous versions.
9092
93+
For detailed instructions on creating event routes, see [Create routes and filters](how-to-create-routes.md).
94+
9195
## Dead-letter events
9296

9397
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
102106

103107
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)
104108

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).
106110

107111
### Types of event messages
108112

@@ -113,7 +117,7 @@ Different types of events in IoT Hub and Azure Digital Twins produce different t
113117
## Next steps
114118

115119
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)
117121

118122
Or, follow this walkthrough to set up an Azure Function for twin-to-twin event handling within Azure Digital Twins:
119123
* [Set up twin-to-twin event handling](how-to-send-twin-to-twin-events.md).

articles/digital-twins/concepts-security.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -93,9 +93,9 @@ Setting up an [Azure Active Directory (Azure AD)](../active-directory/fundamenta
9393

9494
Azure Digital Twins supports both types of managed identities, *system-assigned* and *user-assigned*.
9595

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.
9797

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).
9999

100100
## Private network access with Azure Private Link
101101

0 commit comments

Comments
 (0)