Azure / azure-sdk

This is the Azure SDK parent repository and mostly contains documentation around guidelines and policies as well as the releases for the various languages supported by the Azure SDK.
http://azure.github.io/azure-sdk
MIT License
488 stars 299 forks source link

Board Review: Azure DigitalTwins - Python SDK #1822

Closed zolvarga closed 1 year ago

zolvarga commented 4 years ago

The Basics

Responsible service team: Azure Digital Twins

About this client library

Artifacts required (per language)

We use an API review tool (apiview) to support .NET and Java API reviews. For Python and TypeScript, use the API extractor tool, then submit the output as a Draft PR to the relevant repository (azure-sdk-for-python or azure-sdk-for-js).

Python

Champion Scenarios

Manage model lifecycle

Models represent some physical or logical entity, such as an IoT device, a room it is in, or a building that room is in. They are the cornerstone of digital twins. Each type of entity should be modeled using the DTDL schema. Once a schema is documented in the service, it can be known to other clients so when a digital twin is loaded, a program unfamiliar with that digital twin could interact with it in a dynamic way (e.g. UI created from a model to enable an operator to interact with the digital twin).

Note: this API is only available for bulk creation at this time. When multiple models are included, the service will validate any internal references and reject the request (think transaction) if the validation fails. Without that validation, one would need to create all the models in a specific order to avoid bad references.

Digital twins

Digital Twins are the entities in ADT that represent physical or logical devices. They can be created, updated, read, and deleted.

Relationships

Based on the models applied to a digital twin, it can have relationships to other digital twins. Those relationships are managed independent of the digital twin (they aren't properties directly on the twin), and are 1-way (that is, a relationship created from A->B only appears on A and not on B).

Telemetry

Digital twins that aren't physical devices may need telemetry sent on their behalf. The service SDK provides an avenue for that.

Event routes

An event route lets you send event data from digital twins in Azure Digital Twins to custom-defined endpoints in your subscriptions. Three Azure services are currently supported for endpoints: Event Hub, Event Grid, and Service Bus. Each of these Azure services can be connected to other services and acts as the middleman, sending data along to final destinations such as TSI or Azure Maps for whatever processing you need.

lilyjma commented 4 years ago

scheduled for 10/6