Although this feature just went into Public Preview, the new Azure Digital Twins connector for Microsoft Power Platform is very promising:
Azure Digital Twins (ADT) connector for Microsoft Power Platform enables you to incorporate Azure Digital Twins into Microsoft Power Automate flows, Power Apps applications, or Azure Logic Apps flows.
With this connector, you can combine Azure Digital Twins with 700+ other Power Platform connectors to build flows or apps by ingesting data, coming from other systems, into the Azure Digital Twins environment.
You can do graph traversal:
Or, you can send data to Azure Digital Twins (twin update) as seen here:
It’s even possible to develop a flow that creates a digital twin, deriving from a model when an external system emits an event.
Let’s check out what this Azure Logic Apps connector offers for Azure Digital Twins.
Azure Logic Apps are a convenient solution to add workflow logic, decision-making logic, and rules to your Azure solution.
There are hundreds of connectors with connections to all kinds of both Microsoft and third-party resources so you can literally connect the whole world and move data and insights from one place to another.
Update: the historical data export functionality now also exports twin lifecycle information. This means a part of the custom logic seen below is now part of the default export.
As seen in previous posts, Azure Digital Twins shows the current state of any twin in the Azure Digital Twins graph.
This current state is a combination of multiple items:
twin name and model
twin properties updates based on telemetry and/or business rules related to that telemetry
twin properties updates based on predictions towards the future
twin properties updates based on historical data
Azure Digital Twins also offers to store historical Twin property data. That historical data is made available using Azure Data Explorer, part of the data history connection, as explained in my previous post.
There, twin data can also be compared with twin graph knowledge using the ADX Kusto plugin for querying the ADT graph.
Still, that accompanying plugin is missing something. We have no historical knowledge of the graph itself including models and how these changed over time!
If we want this information, we need to be creative.
Can we add the missing pieces?
Let’s check out how we can explore the ADT graph history…
The Azure IoT Hub is your cloud gateway for ingesting telemetry.
The IoT Hub cannot persist incoming messages so these must be forwarded to other Azure services.
Traditionally, the messages are exposed over an Event Hub-compatible endpoint.
More recent, (non-functional) IoT Hub routing is added where specific Azure services can be connected as an endpoint:
At this moment we can define:
The build-in endpoint (to keep the original way of distributing messages)
Service Bus (Topics/Queues)
Storage account, blob storage (perfect for cheap cold storage)
Lately, a native endpoint for CosmosDB has been made available.
This takes the pain away of having to set up extra resources between the IoT Hub and CosmosDB, just to transport messages from one resource to another. This is mostly done using a Stream Analytics job or custom Azure Functions.