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/about-digital-twins.md
+6-9Lines changed: 6 additions & 9 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -3,7 +3,7 @@ title: Overview of Azure Digital Twins | Microsoft Docs
3
3
description: Learn more about Azure Digital Twins, an Azure IoT solution for spatial intelligence.
4
4
author: julieseto
5
5
ms.author: jseto
6
-
ms.date: 08/01/2019
6
+
ms.date: 09/17/2019
7
7
ms.topic: overview
8
8
ms.service: digital-twins
9
9
services: digital-twins
@@ -41,13 +41,13 @@ Azure Digital Twins has the following key capabilities.
41
41
42
42
### Spatial intelligence graph
43
43
44
-
The [*spatial intelligence graph*](./concepts-objectmodel-spatialgraph.md#graph), or *spatial graph*, is a virtual representation of the physical environment. You can use it to model the relationships between people, places, and devices.
44
+
The [*spatial intelligence graph*](./concepts-objectmodel-spatialgraph.md#spatial-intelligence-graph), or *spatial graph*, is a virtual representation of the physical environment. You can use it to model the relationships between people, places, and devices.
45
45
46
46
Consider a smart utility app that involves several electricity usage meters connected across a neighborhood. The smart utility company must accurately monitor and predict electricity usage and billing. Each device and sensor must be modeled with context about the location and the customer that's to be billed. You can use the spatial intelligence graph to model these kinds of complex relationships.
47
47
48
48
### Digital twin object models
49
49
50
-
[Digital twin object models](./concepts-objectmodel-spatialgraph.md#model) are predefined device protocols and data schema. They align your solution’s domain-specific needs to accelerate and simplify development.
50
+
[Digital twin object models](./concepts-objectmodel-spatialgraph.md#digital-twins-object-models) are predefined device protocols and data schema. They align your solution’s domain-specific needs to accelerate and simplify development.
51
51
52
52
For example, a room occupancy application might use predefined space types such as campus, building, floor, and room.
53
53
@@ -89,9 +89,9 @@ Azure Digital Twins is useful for representing the physical world and its many r
89
89
90
90
Azure Digital Twins uses Azure IoT Hub to connect the IoT devices and sensors that keep everything up-to-date with the physical world. The following diagram shows how Azure Digital Twins relates to other Azure IoT services.
91
91
92
-
![Azure Digital Twins is a service built on top of Azure IoT Hub][1]
92
+
[](media/overview/azure-digital-twins-in-iot-ecosystem.png#lightbox)
93
93
94
-
For more information about IoT, see [Azure IoT technologies and solutions](https://docs.microsoft.com/azure/iot-fundamentals/iot-services-and-technologies).
94
+
For more information about IoT, see [Azure IoT technologies and solutions](../iot-fundamentals/iot-services-and-technologies.md).
95
95
96
96
## Next steps
97
97
@@ -108,7 +108,4 @@ Look closely at a facilities management application by using Azure Digital Twins
108
108
Learn about core Azure Digital Twins concepts:
109
109
110
110
>[!div class="nextstepaction"]
111
-
>[Understand the Digital Twins object model and spatial intelligence graph](./concepts-objectmodel-spatialgraph.md)
Copy file name to clipboardExpand all lines: articles/digital-twins/concepts-events-routing.md
+3-6Lines changed: 3 additions & 6 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -6,7 +6,7 @@ manager: bertvanhoof
6
6
ms.service: digital-twins
7
7
services: digital-twins
8
8
ms.topic: conceptual
9
-
ms.date: 07/29/2019
9
+
ms.date: 09/17/2019
10
10
ms.author: alinast
11
11
---
12
12
@@ -24,7 +24,7 @@ Azure Digital Twins offers two ways to connect IoT events with other Azure servi
24
24
25
25
Users can specify one or more egress endpoints to send out events or to forward messages. Events and messages will be sent to the endpoints according to these predefined routing preferences. In other words, users can specify a certain endpoint to receive graph operation events, another to receive device telemetry events, and so on.
26
26
27
-
![Azure Digital Twins events routing][1]
27
+
[](media/concepts/digital-twins-events-routing.png#lightbox)
28
28
29
29
Routing to Event Hubs maintains the order in which telemetry messages are sent. So they arrive at the endpoint in the same sequence as they were originally received. Event Grid and Service Bus don't guarantee that endpoints will receive events in the same order that they occurred. However, the event schema includes a timestamp that can be used to identify the order after the events arrive at the endpoint.
30
30
@@ -61,7 +61,4 @@ Azure Digital Twins currently supports the following **EventTypes** that will be
61
61
62
62
- To learn about Azure Digital Twins preview limits, see [Public preview service limits](concepts-service-limits.md).
63
63
64
-
- To try out an Azure Digital Twins sample, see the [quickstart to find available rooms](quickstart-view-occupancy-dotnet.md).
Copy file name to clipboardExpand all lines: articles/digital-twins/concepts-objectmodel-spatialgraph.md
+3-11Lines changed: 3 additions & 11 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -6,7 +6,7 @@ manager: bertvanhoof
6
6
ms.service: digital-twins
7
7
services: digital-twins
8
8
ms.topic: conceptual
9
-
ms.date: 07/29/2019
9
+
ms.date: 09/17/2019
10
10
ms.author: alinast
11
11
---
12
12
@@ -18,9 +18,7 @@ Digital Twins object models describe domain-specific concepts, categories, and p
18
18
19
19
With Digital Twins object models and an ontology in place, you can populate a _spatial graph_. Spatial graphs are virtual representations of the many relationships between spaces, devices, and people that are relevant to an IoT solution. This diagram shows an example of a spatial graph that uses a smart building's ontology.
The spatial graph brings together spaces, devices, sensors, and users. Each is linked together in a way that models the real world. In this sample, venue 43 has four floors, each with many different areas. Users are associated with their workstations and given access to portions of the graph. An administrator has the rights to make changes to the spatial graph, while a visitor has rights to only view certain building data.
26
24
@@ -51,8 +49,6 @@ Other categories of objects are:
51
49
-**Matchers** are objects that determine which UDFs are executed for a given telemetry message.
52
50
-**Endpoints** are the locations where telemetry messages and Digital Twins events can be routed, for example, `Event Hub`, `Service Bus`, and `Event Grid`.
53
51
54
-
<aid="graph"></a>
55
-
56
52
## Spatial intelligence graph
57
53
58
54
Spatial graph is the hierarchical graph of spaces, devices, and people defined in the Digital Twins object model. The spatial graph supports inheritance, filtering, traversing, scalability, and extensibility. You can manage and interact with your spatial graph with a collection of REST APIs.
For more details on how to use spatial intelligence graphs, visit the Azure Digital Twins Management APIs sneak preview.
90
86
@@ -101,7 +97,3 @@ All API calls must be authenticated by using [OAuth](https://docs.microsoft.com/
101
97
- To learn about device connectivity and how to send telemetry messages to Digital Twins, read [Azure Digital Twins device connectivity and telemetry ingress](concepts-device-ingress.md).
102
98
103
99
- To learn about Management API limitations and throttles, read [Azure Digital Twins API management and limitations](concepts-service-limits.md).
Copy file name to clipboardExpand all lines: articles/digital-twins/concepts-user-defined-functions.md
+4-13Lines changed: 4 additions & 13 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -6,7 +6,7 @@ manager: bertvanhoof
6
6
ms.service: digital-twins
7
7
services: digital-twins
8
8
ms.topic: conceptual
9
-
ms.date: 07/29/2019
9
+
ms.date: 09/17/2019
10
10
ms.author: alinast
11
11
---
12
12
@@ -18,7 +18,7 @@ Azure Digital Twins offers advanced compute capabilities. Developers can define
18
18
19
19
After devices send telemetry data to Azure Digital Twins, developers can process data in four phases: *validate*, *match*, *compute*, and *dispatch*.
20
20
21
-
![Azure Digital Twins data processing flow][1]
21
+
[](media/concepts/digital-twins-data-processing-flow.png#lightbox)
22
22
23
23
1. The validate phase transforms the incoming telemetry message to a commonly understood [data transfer object](https://docs.microsoft.com/aspnet/web-api/overview/data/using-web-api-with-entity-framework/part-5) format. This phase also executes device and sensor validation.
24
24
1. The match phase finds the appropriate user-defined functions to run. Predefined matchers find the user-defined functions based on the device, sensor, and space information from the incoming telemetry message.
@@ -29,9 +29,7 @@ After devices send telemetry data to Azure Digital Twins, developers can process
29
29
30
30
Data processing in Azure Digital Twins consists of defining three objects: *matchers*, *user-defined functions*, and *role assignments*.
31
31
32
-
![Azure Digital Twins data processing objects][2]
33
-
34
-
<divid="matcher"></div>
32
+
[](media/concepts/digital-twins-user-defined-functions.png#lightbox)
35
33
36
34
### Matchers
37
35
@@ -87,7 +85,7 @@ Matchers define a set of conditions that evaluate what actions take place based
87
85
88
86
### User-defined functions
89
87
90
-
A user-defined function is a custom function executed within an isolated Azure Digital Twins environment. User-defined functions have access to raw sensor telemetry message as it gets received. User-defined functions also have access to the spatial graph and dispatcher service. After the user-defined function is registered within a graph, a matcher (detailed [above](#matcher)) must be created to specify when the function is executed. For example, when Azure Digital Twins receives new telemetry from a given sensor, the matched user-defined function can calculate a moving average of the last few sensor readings.
88
+
A user-defined function is a custom function executed within an isolated Azure Digital Twins environment. User-defined functions have access to raw sensor telemetry message as it gets received. User-defined functions also have access to the spatial graph and dispatcher service. After the user-defined function is registered within a graph, a matcher (detailed [above](#matchers)) must be created to specify when the function is executed. For example, when Azure Digital Twins receives new telemetry from a given sensor, the matched user-defined function can calculate a moving average of the last few sensor readings.
91
89
92
90
User-defined functions can be written in JavaScript. Helper methods interact with the graph in the user-defined execution environment. Developers can execute custom snippets of code against sensor telemetry messages. Examples include:
93
91
@@ -98,15 +96,12 @@ User-defined functions can be written in JavaScript. Helper methods interact wit
98
96
99
97
For more information, see [How to use user-defined functions](./how-to-user-defined-functions.md).
100
98
101
-
102
99
#### Examples
103
100
104
101
The [GitHub repo for the Digital Twins C# sample](https://github.com/Azure-Samples/digital-twins-samples-csharp/) contains a few examples of the user-defined functions:
105
102
-[This function](https://github.com/Azure-Samples/digital-twins-samples-csharp/blob/master/occupancy-quickstart/src/actions/userDefinedFunctions/availabilityForTutorial.js) looks for carbon dioxide, motion, and temperature values to determine whether a room is available with these values in range. The [tutorials for Digital Twins](tutorial-facilities-udf.md) explore this function in more details.
106
103
-[This function](https://github.com/Azure-Samples/digital-twins-samples-csharp/blob/master/occupancy-quickstart/src/actions/userDefinedFunctions/multiplemotionsensors.js) looks for data from multiple motion sensors, and determines that the space is available if none of them detect any motion. You can easily replace the user-defined function used in either the [quickstart](quickstart-view-occupancy-dotnet.md), or the [tutorials](tutorial-facilities-setup.md), by making the changes mentioned in the comments section of the file.
107
104
108
-
109
-
110
105
### Role assignment
111
106
112
107
A user-defined function's actions are subject to Azure Digital Twins [role-based access control](./security-role-based-access-control.md) to secure data within the service. Role assignments define which user-defined functions have the proper permissions to interact with the spatial graph and its entities. For example, a user-defined function might have the ability and permission to *CREATE*, *READ*, *UPDATE*, or *DELETE* graph data under a given space. A user-defined function's level of access is checked when the user-defined function asks the graph for data or attempts an action. For more information, see [Role-based access control](./security-create-manage-role-assignments.md).
@@ -120,7 +115,3 @@ It's possible for a matcher to trigger a user-defined function that has no role
120
115
- To learn more about how to create matchers, user-defined functions, and role assignments, read [Guide for using user-defined functions](./how-to-user-defined-functions.md).
121
116
122
117
- Review the [user-defined function client library reference documentation](./reference-user-defined-functions-client-library.md).
Copy file name to clipboardExpand all lines: articles/digital-twins/tutorial-facilities-setup.md
+6-12Lines changed: 6 additions & 12 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -6,7 +6,7 @@ author: alinamstanciu
6
6
ms.custom: seodec18
7
7
ms.service: digital-twins
8
8
ms.topic: tutorial
9
-
ms.date: 08/16/2019
9
+
ms.date: 09/17/2019
10
10
ms.author: alinast
11
11
#Customer intent: As an Azure IoT developer, I want to walk through a sample application to learn how to use the features of Digital Twins to create a spatially aware intelligent IoT solution.
12
12
---
@@ -39,16 +39,12 @@ These tutorials use and modify the same samples that the [quickstart to find ava
39
39
40
40
-[Visual Studio Code](https://code.visualstudio.com/) to explore the sample code.
41
41
42
-
<aid="deploy"></a>
43
-
44
42
## Deploy Digital Twins
45
43
46
44
Use the steps in this section to create a new instance of the Azure Digital Twins service. Only one instance can be created per subscription. Skip to the next section if you already have one running.
Digital Twins uses [Azure Active Directory](../active-directory/fundamentals/active-directory-whatis.md) (Azure AD) to control [read/write access](../active-directory/develop/v1-permissions-and-consent.md) to the service. Any application that needs to connect with your Digital Twins instance must be registered with Azure AD. The steps in this section show how to register your sample app.
@@ -72,7 +68,7 @@ If you already have the samples downloaded for the [quickstart to find available
72
68
73
69
In the extracted sample folder, open the file **digital-twins-samples-csharp\digital-twins-samples.code-workspace** in Visual Studio Code. It contains two projects:
74
70
75
-
* You can use the provisioning sample **occupancy-quickstart** to configure and provision a [spatial intelligence graph](concepts-objectmodel-spatialgraph.md#graph). This graph is the digitized image of your physical spaces and the resources in them. It uses an [object model](concepts-objectmodel-spatialgraph.md#model), which defines objects for a smart building. For a complete list of Digital Twins objects and REST APIs, visit [this REST API documentation](https://docs.westcentralus.azuresmartspaces.net/management/swagger) or the Management API URL that was created for [your instance](#deploy).
71
+
* You can use the provisioning sample **occupancy-quickstart** to configure and provision a [spatial intelligence graph](concepts-objectmodel-spatialgraph.md#digital-twins-object-models). This graph is the digitized image of your physical spaces and the resources in them. It uses an [object model](concepts-objectmodel-spatialgraph.md#digital-twins-object-models), which defines objects for a smart building. For a complete list of Digital Twins objects and REST APIs, visit [this REST API documentation](https://docs.westcentralus.azuresmartspaces.net/management/swagger) or the Management API URL that was created for [your instance](#deploy-digital-twins).
76
72
77
73
To explore the sample to see how it communicates with your Digital Twins instance, you can start with the **src\actions** folder. The files in this folder implement the commands that you'll use in these tutorials:
78
74
- The **provisionSample.cs** file shows how to provision your spatial graph.
@@ -97,18 +93,16 @@ In the extracted sample folder, open the file **digital-twins-samples-csharp\dig
97
93
```
98
94
99
95
1. In Visual Studio Code, open the [appSettings.json](https://github.com/Azure-Samples/digital-twins-samples-csharp/blob/master/occupancy-quickstart/src/appSettings.json) file in the **occupancy-quickstart** project. Update the following values:
100
-
* **ClientId**: Enter the application ID of your Azure AD app registration. You noted this ID in the section where you [set app permissions](#permissions).
101
-
* **Tenant**: Enter the directory ID of your [Azure AD tenant](https://docs.microsoft.com/azure/active-directory/develop/quickstart-create-new-tenant). You also noted this ID in the section where you [set app permissions](#permissions).
102
-
* **BaseUrl**: Enter the URL of your Digital Twins instance. To get this URL, replace the placeholders in this URL with values for your instance: `https://yourDigitalTwinsName.yourLocation.azuresmartspaces.net/management/api/v1.0/`. You can also get this URL by modifying the Management API URL from [the deployment section](#deploy). Replace **swagger/** with **api/v1.0/**.
96
+
* **ClientId**: Enter the application ID of your Azure AD app registration. You noted this ID in the section where you [set app permissions](#grant-permissions-to-your-app).
97
+
* **Tenant**: Enter the directory ID of your [Azure AD tenant](https://docs.microsoft.com/azure/active-directory/develop/quickstart-create-new-tenant). You also noted this ID in the section where you [set app permissions](#grant-permissions-to-your-app).
98
+
* **BaseUrl**: Enter the URL of your Digital Twins instance. To get this URL, replace the placeholders in this URL with values for your instance: `https://yourDigitalTwinsName.yourLocation.azuresmartspaces.net/management/api/v1.0/`. You can also get this URL by modifying the Management API URL from [the deployment section](#deploy-digital-twins). Replace **swagger/** with **api/v1.0/**.
103
99
104
100
1. See a list of Digital Twins features that you can explore by using the sample. Run the following command:
105
101
106
102
```cmd/sh
107
103
dotnet run
108
104
```
109
105
110
-
<a id="provision-spaces"></a>
111
-
112
106
## Understand the provisioning process
113
107
114
108
This section shows how the sample provisions a spatial graph of a building.
@@ -180,4 +174,4 @@ If you want to stop exploring Azure Digital Twins at this point, feel free to de
180
174
181
175
To learn how to implement a custom logic to monitor conditions in your sample building, go to the next tutorial in the series:
182
176
> [!div class="nextstepaction"]
183
-
> [Tutorial: Provision your building and monitor working conditions](tutorial-facilities-udf.md)
177
+
> [Tutorial: Provision your building and monitor working conditions](tutorial-facilities-udf.md)
0 commit comments