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
+7-10Lines changed: 7 additions & 10 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
@@ -29,7 +29,7 @@ Azure Digital Twins applies to all types of environments, such as, warehouses, o
29
29
- Analyze occupancy levels for a building.
30
30
- Find the busiest cash register in your store.
31
31
32
-
Whatever your real-world business scenario is, it's very likely a corresponding digital instance can be provisioned through Azure Digital Twins.
32
+
Whatever your real-world business scenario is, it's likely a corresponding digital instance can be provisioned through Azure Digital Twins.
33
33
34
34
The following video takes a closer look at Azure Digital Twins.
35
35
@@ -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).
0 commit comments