Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
In diesem Tutorial bauen Sie in Azure Digital Twins einen Graph mit Modellen, Zwillingen und Beziehungen. Als Tool wird in diesem Tutorial der Azure Digital Twins-Befehlssatz für die Azure CLI verwendet.
Diese CLI-Befehle ermöglichen grundlegende Azure Digital Twins-Aktionen wie das Hochladen von Modellen, das Erstellen und Ändern von Zwillingen und das Erstellen von Beziehungen. Den vollständigen CLI-Befehlssatz finden Sie in der Referenzdokumentation zum Befehlssatz „az dt“.
In diesem Tutorial lernen Sie Folgendes:
- Modellieren einer Umgebung
- Erstellen digitaler Zwillinge
- Hinzufügen von Beziehungen zur Erstellung eines Graphen
- Graphen abfragen, um Fragen zu beantworten
Voraussetzungen
Um die Schritte in diesem Lernprogramm auszuführen, müssen Sie zunächst die folgenden Voraussetzungen ausführen.
Wenn Sie kein Azure-Abonnement besitzen, können Sie ein kostenloses Konto erstellen, bevor Sie beginnen.
Herunterladen der Beispielmodelle
Das Lernprogramm verwendet zwei vordefinierte Modelle, die Teil des C#-End-to-End-Beispielprojekts für Azure Digital Twins sind. Die Modelldateien befinden sich hier:
Um die Dateien auf Ihrem Computer abzurufen, verwenden Sie die Navigationslinks in der vorherigen Liste, und kopieren Sie die Dateitexte in lokale Dateien auf Ihrem Computer mit denselben Namen (Room.json und Floor.json).
Vorbereiten der Umgebung für die Azure CLI
Verwenden Sie die Bash-Umgebung in Azure Cloud Shell. Weitere Informationen finden Sie unter Erste Schritte mit Azure Cloud Shell.
Wenn Sie CLI-Referenzbefehle lieber lokal ausführen, installieren Sie die Azure CLI. Wenn Sie Windows oder macOS ausführen, sollten Sie die Azure CLI in einem Docker-Container ausführen. Weitere Informationen finden Sie unter Ausführen der Azure CLI in einem Docker-Container.
Wenn Sie eine lokale Installation verwenden, melden Sie sich mithilfe des Befehls az login bei der Azure CLI an. Führen Sie die in Ihrem Terminal angezeigten Schritte aus, um den Authentifizierungsprozess abzuschließen. Weitere Anmeldeoptionen finden Sie unter Authentifizieren bei Azure mithilfe der Azure CLI.
Installieren Sie die Azure CLI-Erweiterung beim ersten Einsatz, wenn Sie dazu aufgefordert werden. Weitere Informationen zu Erweiterungen finden Sie unter Verwenden und Verwalten von Erweiterungen mit der Azure CLI.
Führen Sie az version aus, um die installierte Version und die abhängigen Bibliotheken zu ermitteln. Führen Sie az upgrade aus, um das Upgrade auf die aktuelle Version durchzuführen.
Einrichten einer CLI-Sitzung
Um mit Azure Digital Twins in der CLI zu arbeiten, müssen Sie sich zunächst anmelden und den CLI-Kontext für diese Sitzung auf Ihr Abonnement festlegen. Führen Sie diese Befehle in Ihrem CLI-Fenster aus:
az login
az account set --subscription "<your-Azure-subscription-ID>"
Tipp
Sie können ihren Abonnementnamen auch anstelle der ID im vorherigen Befehl verwenden.
Wenn Sie dieses Abonnement zum ersten Mal mit Azure Digital Twins verwenden, führen Sie den folgenden Befehl aus, um sich beim Azure Digital Twins-Namespace zu registrieren. (Wenn Sie nicht sicher sind, ist es in Ordnung, es erneut auszuführen, auch wenn Sie es in der Vergangenheit irgendwann ausgeführt haben.)
az provider register --namespace 'Microsoft.DigitalTwins'
Als Nächstes fügen Sie die Microsoft Azure IoT-Erweiterung für Azure CLI hinzu, um Befehle für die Interaktion mit Azure Digital Twins und anderen IoT-Diensten zu aktivieren. Führen Sie den folgenden Befehl aus, um sicherzustellen, dass Sie über die neueste Version der Erweiterung verfügen:
az extension add --upgrade --name azure-iot
Jetzt können Sie mit Azure Digital Twins in der Azure CLI arbeiten.
Sie können diesen Status überprüfen, indem Sie az dt --help ausführen, um eine Liste der verfügbaren Azure Digital Twins-Befehle auf oberster Ebene anzuzeigen.
Vorbereiten einer Azure Digital Twins-Instanz
Für die Arbeit mit Azure Digital Twins in diesem Artikel müssen Sie zuerst eine Azure Digital Twins-Instanz einrichten und die für die Nutzung erforderlichen Berechtigungen gewähren. Wenn Sie zuvor bereits eine Azure Digital Twins-Instanz eingerichtet haben, können Sie diese nutzen.
Befolgen Sie andernfalls die Anleitung unter Einrichten einer Instanz und der Authentifizierung. Die Anweisungen enthalten auch Schritte, um zu überprüfen, ob Sie jeden Schritt erfolgreich abgeschlossen haben und bereit sind, ihre neue Instanz zu verwenden.
Nachdem Sie Ihre Azure Digital Twins-Instanz eingerichtet haben, notieren Sie sich die folgenden Werte, die Sie benötigen, um später eine Verbindung mit der Instanz herzustellen:
- Hostname der Instanz
- Das Azure-Abonnement, das Sie zum Erstellen der Instanz verwendet haben
Tipp
Wenn Sie den freundlichen Namen Ihrer Instanz kennen, können Sie den folgenden CLI-Befehl verwenden, um den Hostnamen und die Abonnementwerte abzurufen.
az dt show --dt-name <Azure-Digital-Twins-instance-name>
Sie werden in der Ausgabe wie folgt angezeigt:
Modellieren einer physischen Umgebung mit DTDL
Nachdem die CLI und die Azure Digital Twins-Instanz eingerichtet sind, können Sie mit der Erstellung eines Szenariographen beginnen.
Beim Erstellen einer Azure Digital Twins-Lösung werden zunächst Zwillingsmodelle für Ihre Umgebung definiert.
Modelle ähneln Klassen in objektorientierten Programmiersprachen. Sie stellen benutzerdefinierte Vorlagen für digitale Zwillinge bereit, die später eingesetzt und instanziiert werden. Sie sind in einer JSON-ähnlichen Sprache namens Digital Twins Definition Language (DTDL) geschrieben und können die Eigenschaften, Beziehungen und Komponenten eines Zwillings festlegen.
Hinweis
DTDL ermöglicht außerdem die Definition von Befehlen für digitale Zwillinge. Allerdings werden Befehle im Azure Digital Twins-Dienst derzeit nicht unterstützt.
Navigieren Sie auf Ihrem Computer zur Datei Room.js, die Sie im Abschnitt Voraussetzungen erstellt haben. Öffnen Sie sie in einem Code-Editor, und ändern Sie sie wie folgt:
Aktualisieren Sie die Versionsnummer, um anzugeben, dass Sie eine aktualisierte Version dieses Modells bereitstellen. Ändern Sie hierzu 1 am Ende des Werts
@idin 2. Jede Zahl, die größer als die aktuelle Versionsnummer ist, funktioniert ebenfalls.Bearbeiten Sie eine Eigenschaft. Ändern Sie den Namen der
Humidity-Eigenschaft in HumidityLevel (oder einen anderen gewünschten Namen). Wenn Sie einen anderen Namen als HumidityLevel verwenden, merken Sie diesen, und verwenden Sie ihn im gesamten weiteren Tutorial anstelle von HumidityLevel.Fügen Sie eine Eigenschaft hinzu. Fügen Sie unterhalb der Eigenschaft
HumidityLevel, die in Zeile 15 endet, den folgenden Code ein, um dem Raum eine Eigenschaft vom TypRoomNamehinzuzufügen:,{ "@type": "Property", "name": "RoomName", "schema": "string" }Fügen Sie eine Beziehung hinzu. Fügen Sie unterhalb der soeben hinzugefügten Eigenschaft
RoomNameden folgenden Code ein, um dieser Art von Zwilling die Möglichkeit zu geben, Beziehungen vom Typcontainsmit anderen Zwillingen zu erstellen:,{ "@type": "Relationship", "name": "contains" }
Wenn Sie fertig sind, sollte das aktualisierte Modell wie folgt aussehen:
{
"@id": "dtmi:example:Room;2",
"@type": "Interface",
"displayName": "Room",
"contents": [
{
"@type": "Property",
"name": "Temperature",
"schema": "double"
},
{
"@type": "Property",
"name": "HumidityLevel",
"schema": "double"
}
,{
"@type": "Property",
"name": "RoomName",
"schema": "string"
}
,{
"@type": "Relationship",
"name": "contains"
}
],
"@context": "dtmi:dtdl:context;3"
}
Achten Sie darauf, die Datei vor dem Fortfahren zu speichern.
Hochladen von Modellen in Azure Digital Twins
Nach dem Entwerfen von Modellen müssen Sie diese in Ihre Azure Digital Twins-Instanz hochladen. Dadurch wird die Azure Digital Twins-Dienstinstanz mit Ihrem eigenen benutzerdefinierten Domänenvokabular konfiguriert. Nach dem Hochladen der Modelle können Sie Zwillingsinstanzen erstellen, die diese verwenden.
Wenn Sie eine lokale Installation der Azure CLI verwenden, können Sie diesen Schritt überspringen. Wenn Sie Cloud Shell verwenden, müssen Sie Ihre Modelldateien in den Speicher von Cloud Shell hochladen, damit die Dateien verfügbar sind, wenn Sie den Cloud Shell-Befehl ausführen, der sie verwendet. Wählen Sie "Dateien verwalten" und dann "Hochladen" aus.
Navigieren Sie auf Ihrem Computer zur Datei Room.json, und wählen Sie „Öffnen“ aus. Wiederholen Sie diesen Schritt anschließend für Floor.json.
Verwenden Sie als Nächstes den Befehl "az dt model create" wie im folgenden Beispiel gezeigt, um Ihr aktualisiertes Raummodell in Ihre Azure Digital Twins-Instanz hochzuladen. Mit dem zweiten Befehl wird ein weiteres Modell (Floor) hochgeladen. Dieses wird auch im nächsten Abschnitt verwendet, um verschiedene Arten von Zwillingen zu erstellen. Es gibt einen Platzhalter für den Hostnamen der Instanz. Alternativ können Sie den benutzerfreundlicheren Namen der Instanz verwenden, was jedoch zu einer leichten Leistungsminderung führen kann. Außerdem gibt es einen Platzhalter für den Pfad zu jeder Modelldatei. Wenn Sie Cloud Shell verwenden, befinden sichRoom.json und Floor.json im Hauptspeicherverzeichnis, sodass Sie die Dateinamen einfach direkt in den folgenden Befehlen verwenden können, in denen ein Pfad erforderlich ist.
az dt model create --dt-name <Azure-Digital-Twins-instance-hostname-or-name> --models <path-to-Room.json> az dt model create --dt-name <Azure-Digital-Twins-instance-hostname-or-name> --models <path-to-Floor.json>Die Ausgabe aus den einzelnen Befehlen zeigt Informationen zum erfolgreich hochgeladenen Modell an.
Tipp
Sie können auch alle Modelle in einem Verzeichnis gleichzeitig hochladen, indem Sie die
--from-directoryOption zum Erstellen des Modells verwenden. Weitere Informationen finden Sie in den optionalen Parametern für „az dt model create“.Überprüfen Sie, ob die Modelle mit dem Befehl "az dt model list" erstellt wurden, wie im folgenden Beispiel gezeigt. Dadurch wird eine Liste aller Modelle gedruckt, die mit ihren vollständigen Informationen in die Azure Digital Twins-Instanz hochgeladen wurden. Es gibt einen Platzhalter für den Hostnamen der Instanz (Sie können auch den benutzerfreundlichen Namen der Instanz verwenden, was die Leistung leicht verringern kann).
az dt model list --dt-name <Azure-Digital-Twins-instance-hostname-or-name> --definitionSuchen Sie in den Ergebnissen nach dem bearbeiteten Room-Modell:
Fehler
Von der CLI werden auch Fehler des Diensts behandelt.
Führen Sie den az dt model create Befehl erneut aus, um zu versuchen, eines der gleichen Modelle erneut hochzuladen, die Sie zum zweiten Mal hochgeladen haben:
az dt model create --dt-name <Azure-Digital-Twins-instance-hostname-or-name> --models Room.json
Da Modelle nicht überschrieben werden können, gibt das Ausführen dieses Befehls auf demselben Modell jetzt einen Fehlercode von ModelIdAlreadyExists.
Erstellen digitaler Zwillinge
Nachdem einige Modelle in Ihre Azure Digital Twins-Instanz hochgeladen wurden, können Sie basierend auf den Modelldefinitionen digitale Zwillinge erstellen. Digitale Zwillinge stellen die Entitäten in Ihrer Geschäftsumgebung dar, etwa Sensoren in einer Farm, Räume in einem Gebäude oder Beleuchtung in einem Fahrzeug.
Verwenden Sie zum Erstellen eines digitalen Zwillings den Befehl az dt twin create. Sie müssen auf das Modell verweisen, auf dem der Zwilling basiert, und können optional Anfangswerte für Eigenschaften im Modell definieren. Sie müssen in dieser Phase keine Beziehungsinformationen übergeben.
Führen Sie diesen Code in der CLI aus, um mehrere Zwillinge basierend auf dem zuvor aktualisierten und einem anderen Modell (Floor) zu erstellen. Denken Sie daran, dass „Room“ drei Eigenschaften hat, sodass Sie Argumente mit den Anfangswerten für diese Eigenschaften angeben können. (Die Initialisierung von Eigenschaftswerten ist grundsätzlich optional, für dieses Tutorial werden sie allerdings benötigt.) Es gibt einen Platzhalter für den Hostnamen der Instanz (Sie können auch den Anzeigenamen der Instanz mit einer leichten Verringerung der Leistung verwenden).
az dt twin create --dt-name <Azure-Digital-Twins-instance-hostname-or-name> --dtmi "dtmi:example:Room;2" --twin-id room0 --properties '{"RoomName":"Room0", "Temperature":70, "HumidityLevel":30}' az dt twin create --dt-name <Azure-Digital-Twins-instance-hostname-or-name> --dtmi "dtmi:example:Room;2" --twin-id room1 --properties '{"RoomName":"Room1", "Temperature":80, "HumidityLevel":60}' az dt twin create --dt-name <Azure-Digital-Twins-instance-hostname-or-name> --dtmi "dtmi:example:Floor;1" --twin-id floor0 az dt twin create --dt-name <Azure-Digital-Twins-instance-hostname-or-name> --dtmi "dtmi:example:Floor;1" --twin-id floor1Hinweis
Wenn Sie etwas anderes als die Cloud Shell in der Bash-Umgebung verwenden, müssen Sie möglicherweise bestimmte Zeichen im JSON-Inlinecode mit Escapezeichen versehen, damit sie ordnungsgemäß geparst werden.
Weitere Informationen finden Sie unter Verwenden von Sonderzeichen in verschiedenen Shells.
Die Ausgabe der einzelnen Befehle zeigt Informationen über den erfolgreich erstellten Zwilling (einschließlich Eigenschaften für die Raumzwillinge, die mit ihnen initialisiert wurden).
Sie können überprüfen, ob die Zwillinge mit dem Az dt Twin-Abfragebefehl erstellt wurden, wie im folgenden Beispiel gezeigt. Mit der gezeigten Abfrage wird nach allen digitalen Zwillingen in Ihrer Azure Digital Twins-Instanz gesucht. Es gibt einen Platzhalter für den Hostnamen der Instanz (Sie können auch den benutzerfreundlichen Namen der Instanz verwenden, was die Leistung leicht verringern kann).
az dt twin query --dt-name <Azure-Digital-Twins-instance-hostname-or-name> --query-command "SELECT * FROM DIGITALTWINS"Suchen Sie in den Ergebnissen nach den Zwillingen room0, room1, floor0 und floor1. Der folgende Auszug zeigt einen Teil des Ergebnisses dieser Abfrage:
Hinweis
Nachdem Sie eine Änderung an den Daten in Ihrem Graphen vorgenommen haben, kann eine Latenz von bis zu 10 Sekunden auftreten, bevor die Änderungen in Abfragen berücksichtigt werden.
Die DigitalTwins-API spiegelt Änderungen sofort wider. Wenn Sie also eine sofortige Antwort benötigen, verwenden Sie eine API-Anforderung (DigitalTwins GetById) oder einen SDK-Aufruf (GetDigitalTwin), um Zwillingsdaten zu erhalten, anstatt eine Abfrage durchzuführen.
Ändern eines digitalen Zwillings
Sie können auch die Eigenschaften eines Zwillings ändern, den Sie erstellt haben.
Führen Sie den Befehl az dt twin update aus, um den RoomName-Wert für „room0“ von „Room0“ in „PresidentialSuite“ zu ändern. Es gibt einen Platzhalter für den Hostnamen der Instanz (Sie können auch den benutzerfreundlichen Namen der Instanz verwenden, was die Leistung leicht verringern kann).
az dt twin update --dt-name <Azure-Digital-Twins-instance-hostname-or-name> --twin-id room0 --json-patch '{"op":"add", "path":"/RoomName", "value": "PresidentialSuite"}'Hinweis
Es wird empfohlen, die CLI in der Bash-Umgebung für dieses Lernprogramm zu verwenden. Wenn Sie die PowerShell-Umgebung verwenden, müssen Sie möglicherweise die Anführungszeichen mit Escape versehen, damit der JSON-Wert
--json-patchrichtig analysiert werden kann.Die Ausgabe dieses Befehls enthält die aktuellen Informationen des Zwillings mit dem neuen Wert für
RoomNameim Ergebnis.Sie können den Befehl az dt twin show ausführen, um die Informationen zu room0 anzuzeigen und sich so zu vergewissern, dass die Aktualisierung erfolgreich war. Es gibt einen Platzhalter für den Hostnamen der Instanz (Sie können auch den benutzerfreundlichen Namen der Instanz verwenden, was die Leistung leicht verringern kann).
az dt twin show --dt-name <Azure-Digital-Twins-instance-hostname-or-name> --twin-id room0In der Ausgabe sollte der aktualisierte Name angezeigt werden.
Erstellen eines Graphen durch Hinzufügen von Beziehungen
Im nächsten Schritt können Sie einige Beziehungen zwischen diesen Zwillingen erstellen, um Sie in einem Zwillingsgraphen zu verbinden. Zwillingsgraphen werden verwendet, um eine gesamte Umgebung darzustellen.
Die Arten von Beziehungen, die Sie zwischen Zwillingen erstellen können, werden in den zuvor hochgeladenen Modellen definiert. In der Modelldefinition für „Floor“ ist angegeben, dass Etagen eine Beziehung vom Typ contains haben können. Da diese Beziehung durch die Modelldefinition angegeben wird, ist es möglich, eine Beziehung vom Typ contains zwischen jedem Etagenzwilling (Floor) und dem entsprechenden enthaltenen Raum zu erstellen.
Verwenden Sie zum Hinzufügen einer Beziehung den Befehl az dt twin relationship create. Geben Sie den Zwilling, von dem die Beziehung ausgeht, die Art der Beziehung sowie den Zwilling an, mit dem die Beziehung hergestellt wird. Geben Sie abschließend eine eindeutige ID für die Beziehung an. Wenn eine Beziehung mit Eigenschaften definiert wurde, können Sie in diesem Befehl auch die Beziehungseigenschaften initialisieren.
Führen Sie den folgenden Code aus, um eine Beziehung vom Typ
containszwischen jedem der zuvor erstellten Etagenzwillinge (Floor) um dem entsprechenden Raumzwilling (Room) hinzuzufügen. Die Beziehungen heißen relationship0 und relationship1. Es gibt einen Platzhalter für den Hostnamen der Instanz (Sie können auch den benutzerfreundlichen Namen der Instanz verwenden, was die Leistung leicht verringern kann).az dt twin relationship create --dt-name <Azure-Digital-Twins-instance-hostname-or-name> --relationship-id relationship0 --relationship contains --twin-id floor0 --target room0 az dt twin relationship create --dt-name <Azure-Digital-Twins-instance-hostname-or-name> --relationship-id relationship1 --relationship contains --twin-id floor1 --target room1Tipp
Die
containsBeziehung im Floor-Modell wurde auch mit zwei Eigenschaften definiert,ownershipUserownershipDepartmentsodass Sie beim Erstellen der Beziehungen auch Argumente mit den Anfangswerten für diese Eigenschaften bereitstellen können. Wenn Sie eine Beziehung mit Initialisierung dieser Eigenschaften erstellen möchten, müssen Sie einem der obigen Befehle die Option--propertieshinzufügen:... --properties '{"ownershipUser":"MyUser", "ownershipDepartment":"MyDepartment"}'Die Ausgabe des jeweiligen Befehls enthält Informationen zur erfolgreich erstellten Beziehung.
Sie können die Beziehungen mit einem der folgenden Befehle überprüfen, die die Beziehungen in Ihrer Azure Digital Twins-Instanz ausgeben. Jeder Befehl besitzt einen Platzhalter für den Hostnamen der Instanz (Sie können auch den freundlichen Namen der Instanz verwenden, was jedoch die Leistung leicht verringert).
- Um alle Beziehungen zu sehen, die von den einzelnen Etagen ausgehen (Betrachtung der Beziehungen von einer Seite):
az dt twin relationship list --dt-name <Azure-Digital-Twins-instance-hostname-or-name> --twin-id floor0 az dt twin relationship list --dt-name <Azure-Digital-Twins-instance-hostname-or-name> --twin-id floor1 - So zeigen Sie alle Beziehungen an, die bei jedem Raum ankommen (Anzeige der Beziehungen von der anderen Seite):
az dt twin relationship list --dt-name <Azure-Digital-Twins-instance-hostname-or-name> --twin-id room0 --incoming az dt twin relationship list --dt-name <Azure-Digital-Twins-instance-hostname-or-name> --twin-id room1 --incoming - Um nach diesen Beziehungen einzeln, anhand der ID, zu suchen:
az dt twin relationship show --dt-name <Azure-Digital-Twins-instance-hostname-or-name> --twin-id floor0 --relationship-id relationship0 az dt twin relationship show --dt-name <Azure-Digital-Twins-instance-hostname-or-name> --twin-id floor1 --relationship-id relationship1
- Um alle Beziehungen zu sehen, die von den einzelnen Etagen ausgehen (Betrachtung der Beziehungen von einer Seite):
Die Zwillinge und Beziehungen, die Sie in diesem Lernprogramm eingerichtet haben, bilden das folgende konzeptionelle Diagramm:
Abfragen des Zwillingsgraphen zum Beantworten von Umgebungsfragen
Eine Hauptfunktion von Azure Digital Twins ist das einfache Abfragen des Zwillingsgraphen und das effiziente Beantworten von Fragen zur Umgebung. In der Azure CLI erfolgt die Abfrage mit dem Befehl az dt twin query.
Hinweis
Nachdem Sie eine Änderung an den Daten in Ihrem Graphen vorgenommen haben, kann eine Latenz von bis zu 10 Sekunden auftreten, bevor die Änderungen in Abfragen berücksichtigt werden.
Die DigitalTwins-API spiegelt Änderungen sofort wider. Wenn Sie also eine sofortige Antwort benötigen, verwenden Sie eine API-Anforderung (DigitalTwins GetById) oder einen SDK-Aufruf (GetDigitalTwin), um Zwillingsdaten zu erhalten, anstatt eine Abfrage durchzuführen.
Führen Sie in der CLI die folgenden Abfragen aus, um einige Fragen zur Beispielumgebung zu beantworten. Jeder Befehl besitzt einen Platzhalter für den Hostnamen der Instanz (Sie können auch den freundlichen Namen der Instanz verwenden, was jedoch die Leistung leicht verringert).
Welche Entitäten aus meiner Umgebung werden in Azure Digital Twins dargestellt? (Abfrage aller Elemente)
az dt twin query --dt-name <Azure-Digital-Twins-instance-hostname-or-name> --query-command "SELECT * FROM DIGITALTWINS"Mit dieser Abfrage können Sie schnell eine Bestandsaufnahme Ihrer Umgebung machen und sicherstellen, dass in Azure Digital Twins alles wunschgemäß dargestellt wird. Das Ergebnis dieser Abfrage ist eine Ausgabe, die jeden digitalen Zwilling mit seinen Details enthält. Auszug:
Tipp
Möglicherweise erkennen Sie, dass dieser Befehl derselbe Befehl ist, den Sie zuvor im Abschnitt "Digitale Zwillinge erstellen " verwendet haben, um alle Azure Digital Twins in der Instanz zu finden.
Welche Räume sind in meiner Umgebung vorhanden? (Abfrage nach Modell)
az dt twin query --dt-name <Azure-Digital-Twins-instance-hostname-or-name> --query-command "SELECT * FROM DIGITALTWINS T WHERE IS_OF_MODEL(T, 'dtmi:example:Room;2')"Sie können Ihre Abfrage auf Zwillinge eines bestimmten Typs beschränken, um spezifischere Informationen zu den dargestellten Elementen zu erhalten. Im Ergebnis werden „room0“ und „room1“, aber nicht „floor0“ oder „floor1“ angezeigt (da es sich dabei um Etagen und nicht um Räume handelt).
Welche Zimmer gibt es auf Etage 0? (Abfrage nach Beziehung)
az dt twin query --dt-name <Azure-Digital-Twins-instance-hostname-or-name> --query-command "SELECT room FROM DIGITALTWINS floor JOIN room RELATED floor.contains where floor.\$dtId = 'floor0'"Sie können Abfragen basierend auf den Beziehungen in Ihrem Graphen durchführen, um Informationen zu den Beziehungen zwischen Zwillingen zu erhalten oder um die Abfrage auf einen bestimmten Bereich zu beschränken. Diese Abfrage veranschaulicht auch, dass die ID eines Zwillings (z. B. boden0 in der vorherigen Abfrage) mithilfe des Metadatenfelds
$dtIdabgefragt wird. Nur room0 befindet sich auf floor0, weshalb es der einzige Raum im Ergebnis dieser Abfrage ist.Hinweis
Wenn Sie Cloud Shell verwenden, um eine Abfrage mit Metadatenfeldern wie diesem auszuführen, die mit
$beginnen, müssen Sie$mit einem umgekehrten Schrägstrich versehen, um Cloud Shell mitzuteilen, dass es sich dabei nicht um eine Variable handelt und es im Abfragetext als Literal behandelt werden soll. Das Escape-Metadatenfeld wird im vorherigen Screenshot dargestellt.Bei welchen Zwillingen in meiner Umgebung liegt die Temperatur über 75 Grad Fahrenheit? (Abfrage nach Eigenschaft)
az dt twin query --dt-name <Azure-Digital-Twins-instance-hostname-or-name> --query-command "SELECT * FROM DigitalTwins T WHERE T.Temperature > 75"Sie können den Graphen auf der Grundlage von Eigenschaften abfragen, um verschiedene Fragen zu beantworten. Dazu zählt auch das Auffinden von Ausreißern in Ihrer Umgebung, die möglicherweise Ihre Aufmerksamkeit erfordern. Andere Vergleichsoperatoren (<, >, = oder !=) werden ebenfalls unterstützt. room1 wird hier in den Ergebnissen angezeigt, da die Temperatur 80 beträgt.
Welche Räume auf floor0 haben eine Temperatur über 75? (Verbundabfrage)
az dt twin query --dt-name <Azure-Digital-Twins-instance-hostname-or-name> --query-command "SELECT room FROM DIGITALTWINS floor JOIN room RELATED floor.contains where floor.\$dtId = 'floor0' AND IS_OF_MODEL(room, 'dtmi:example:Room;2') AND room.Temperature > 75"Sie können die Abfragen oben auch wie in SQL mithilfe von Kombinationsoperatoren (etwa
AND,OR,NOT) kombinieren. Diese Abfrage verwendetAND, um die vorherige Abfrage zu den Zwillings-Temperaturen genauer zu spezifizieren. Das Ergebnis enthält jetzt nur noch Räume mit einer Temperatur von über 75, die sich auf floor0 befinden – in diesem Fall kein Raum. Das Resultset ist leer.
Bereinigen von Ressourcen
Nach Abschluss dieses Tutorials können Sie die zu entfernenden Ressourcen auswählen, abhängig davon, wie Sie weiter vorgehen möchten.
- Wenn Sie mit dem nächsten Tutorial fortfahren möchten, können Sie die hier eingerichteten Ressourcen behalten und die Azure Digital Twins-Instanz wiederverwenden, ohne dazwischen etwas zu löschen.
Wenn Sie die Azure Digital Twins-Instanz aus diesem Artikel weiterhin verwenden möchten, aber alle Modelle, Zwillinge und Beziehungen von ihr löschen möchten, führen Sie den folgenden az dt job deletion-CLI-Befehl aus:
az dt job deletion create -n <name-of-Azure-Digital-Twins-instance> -yWenn Sie nur einige dieser Elemente löschen möchten, können Sie die Befehle az dt twin relationship delete, az dt twin delete und az dt model delete verwenden, um nur die Elemente, die Sie entfernen möchten, selektiv zu löschen.
Wenn Sie die in diesem Tutorial erstellten Ressourcen nicht benötigen, können Sie die Azure Digital Twins-Instanz und alle anderen Ressourcen in diesem Artikel mit dem CLI-Befehl az group delete löschen. Dadurch werden alle Azure-Ressourcen in einer Ressourcengruppe sowie die Ressourcengruppe selbst gelöscht.
Wichtig
Das Löschen einer Ressourcengruppe kann nicht rückgängig gemacht werden. Die Ressourcengruppe und alle darin enthaltenen Ressourcen werden unwiderruflich gelöscht. Achten Sie daher darauf, dass Sie nicht versehentlich die falsche Ressourcengruppe oder die falschen Ressourcen löschen.
Öffnen Sie Azure Cloud Shell oder ein lokales CLI-Fenster, und führen Sie den folgenden Befehl aus, um die Ressourcengruppe und alle darin enthaltenen Elemente zu löschen.
az group delete --name <your-resource-group>
Möglicherweise möchten Sie auch die Modelldateien löschen, die Sie auf Ihrem lokalen Computer erstellt haben.
Nächste Schritte
In diesem Tutorial haben Sie die ersten Schritte mit Azure Digital Twins durchgeführt, indem Sie unter Verwendung der Azure CLI einen Graphen in Ihrer Instanz erstellt haben. Sie haben Modelle, digitale Zwillinge und Beziehungen erstellt, um einen Graphen zu erstellen. Darüber hinaus haben Sie einige Abfragen für den Graphen ausgeführt, um eine Vorstellung davon zu erhalten, welche Arten von Fragen Azure Digital Twins zu einer Umgebung beantworten kann.
Fahren Sie mit dem nächsten Tutorial fort, um Azure Digital Twins mit anderen Azure-Diensten zu kombinieren und ein datengesteuertes End-to-End-Szenario abzuschließen.