Erstellen einer Datenverlaufsverbindung für Azure Digital Twins

Der Datenverlauf ist ein Azure Digital Twins-Feature zum automatischen Historisieren von Diagrammupdates für Azure Data Explorer. Diese Daten können mithilfe des Azure Digital Twins-Abfrage-Plug-Ins für Azure Data Explorer abgefragt werden, um im Laufe der Zeit Einblicke in Ihre Umgebung zu erhalten.

In diesem Artikel wird gezeigt, wie Sie eine funktionierende Datenverlaufsverbindung zwischen Azure Digital Twins und Azure Data Explorer einrichten. Verwendet werden die Azure CLI und das Azure-Portal, um die erforderlichen Datenverlaufsressourcen einzurichten und zu verbinden. Dazu gehören Folgende:

  • Eine Azure Digital Twins-Instanz
  • Ein Event Hubs-Namespace, der einen Event Hub enthält
  • Ein Azure Data Explorer-Cluster, der eine Datenbank enthält

Es enthält auch ein Beispiel-Twin-Diagramm, mit dem Sie die historisierten Diagrammaktualisierungen im Azure-Daten-Explorer anzeigen können.

Tipp

In diesem Artikel wird zwar das Azure-Portal verwendet, Sie können aber auch den Datenverlauf nutzen, indem Sie die Version 2022-05-31 der REST-APIs verwenden.

Voraussetzungen

Vorbereiten der Umgebung für die Azure CLI

  • Verwenden Sie die Bash-Umgebung in Azure Cloud Shell. Weitere Informationen finden Sie unter Schnellstart für Bash in 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. Informationen zu anderen Anmeldeoptionen finden Sie unter Anmelden mit 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 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.

Hinweis

Wenn Sie möchten, können Sie Azure Cloud Shell auch in der PowerShell-Umgebung anstelle der Bash-Umgebung verwenden. Die Befehle auf dieser Seite wurden für die Bash-Umgebung geschrieben, sodass sie möglicherweise geringfügige Anpassungen erfordern, um in PowerShell ausgeführt werden zu können.

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 im obigen Befehl anstelle der ID auch Ihren Abonnementnamen verwenden.

Wenn Sie dieses Abonnement zum ersten Mal mit Azure Digital Twins nutzen, führen Sie diesen Befehl aus, um sich im Namespace von Azure Digital Twins zu registrieren. (Falls Sie sich nicht sicher sind, ist es in Ordnung, ihn erneut auszuführen, auch wenn Sie ihn irgendwann zuvor schon einmal ausgeführt haben.)

az provider register --namespace 'Microsoft.DigitalTwins'

Als Nächstes fügen Sie die Microsoft Azure IoT-Erweiterung für die 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

Nun können Sie in der Azure CLI mit Azure Digital Twins arbeiten.

Sie können dies durch Ausführung von az dt --help jederzeit überprüfen, um eine Liste der verfügbaren Azure Digital Twins-Befehle oberster Ebene anzuzeigen.

Einrichten lokaler Variablen für die CLI-Sitzung

Dieser Artikel enthält CLI-Befehle, mit denen Sie die Datenverlaufsressourcen erstellen können. Um später ein einfaches Kopieren und Ausführen dieser Befehle zu ermöglichen, können Sie jetzt lokale Variablen in Ihrer CLI-Sitzung einrichten und später dann in den CLI-Befehlen auf diese Variablen verweisen, wenn Sie Ihre Ressourcen erstellen. Aktualisieren Sie die Platzhalter (mit eckigen Klammern <...> gekennzeichnet) in den folgenden Befehlen und führen Sie diese Befehle aus, um die Variablen zu erstellen. Achten Sie darauf, die in den Kommentaren beschriebenen Benennungsregeln zu befolgen. Diese Werte werden später beim Erstellen der neuen Ressourcen verwendet.

Hinweis

Diese Befehle wurden für die Bash-Umgebung geschrieben. Sie können für PowerShell angepasst werden, wenn Sie eher eine PowerShell-CLI-Umgebung verwenden möchten.

## General Setup
location="<your-resource-region>"
resourcegroup="<your-resource-group-name>"

## Azure Digital Twins Setup
# Instance name can contain letters, numbers, and hyphens. It must start and end with a letter or number, and be between 4 and 62 characters long.
dtname="<name-for-your-digital-twins-instance>"
# Connection name can contain letters, numbers, and hyphens. It must contain at least one letter, and be between 3 and 50 characters long.
connectionname="<name-for-your-data-history-connection>"

## Event Hub Setup
# Namespace can contain letters, numbers, and hyphens. It must start with a letter, end with a letter or number, and be between 6 and 50 characters long.
eventhubnamespace="<name-for-your-event-hub-namespace>"
# Event hub name can contain only letters, numbers, periods, hyphens and underscores. It must start and end with a letter or number.
eventhub="<name-for-your-event-hub>"

## Azure Data Explorer Setup
# Cluster name can contain only lowercase alphanumeric characters. It must start with a letter, and be between 4 and 22 characters long.
clustername="<name-for-your-cluster>"  
# Database name can contain only alphanumeric, spaces, dash and dot characters, and be up to 260 characters in length.
databasename="<name-for-your-database>"

# Enter a name for the table where relationship create and delete events will be stored.
relationshiplifecycletablename="<name-for-your-relationship-lifecycle-events-table>"
# Enter a name for the table where twin create and delete events will be stored.
twinlifecycletablename="<name-for-your-twin-lifecycle-events-table>"
# Optionally, enter a custom name for the table where twin property updates will be stored. If not provided, the table will be named AdtPropertyEvents.
twinpropertytablename="<name-for-your-twin-property-events-table>"

Erstellen einer Azure Digital Twins-Instanz mit einer verwalteten Identität

Wenn Sie bereits über eine Azure Digital Twins-Instanz verfügen, stellen Sie sicher, dass Sie dafür eine systemseitig zugewiesene verwaltete Identität aktiviert haben.

Wenn Sie keine Azure Digital Twins-Instanz haben, befolgen Sie die Anweisungen unter Erstellen der Instanz mit einer verwalteten Identität, um erstmals eine Azure Digital Twins-Instanz mit einer systemseitig zugewiesenen verwalteten Identität zu erstellen.

Vergewissern Sie sich anschließend, dass Sie die Rolle Azure Digital Twins-Datenbesitzer für die Instanz haben. Anweisungen finden Sie unter Einrichten von Benutzerzugriffsberechtigungen.

Wenn Sie den Namen Ihrer Instanz zu ihren lokalen CLI-Variablen hinzufügen möchten, damit sie automatisch an spätere Befehle angeschlossen werden, die aus diesem Artikel kopiert werden, speichern Sie sie wie folgt in der Variablen dtname :

dtname="<name-of-your-instance>"

Erstellen eines Event Hubs-Namespaces und eines Event Hubs

Erstellen Sie als Nächstes einen Event Hubs-Namespace und einen Event Hub. Dieser Hub empfängt Graph-Lebenszyklus- und Eigenschaftenaktualisierungsbenachrichtigungen von der Azure Digital Twins-Instanz und leitet dann die Nachrichten an den Azure Data Explorer-Zielcluster weiter.

Im Rahmen der späteren Einrichtung der Datenverlaufsverbindung gewähren Sie der Azure Digital Twins-Instanz die Rolle Azure Event Hubs-Datenbesitzer für die Event Hub-Ressource.

Weitere Informationen zu Event Hubs und deren Funktionen finden Sie in der Event Hubs-Dokumentation.

Hinweis

Beim Einrichten des Datenverlaufs muss die lokale Autorisierung auf dem Event Hub aktiviert sein. Wenn Sie letztendlich die lokale Autorisierung auf Ihrem Event Hub deaktiviert haben möchten, deaktivieren Sie die Autorisierung nach dem Einrichten der Verbindung. Sie müssen auch einige Berechtigungen anpassen, die weiter unten in diesem Artikel unter "Netzwerkzugriff auf Datenverlaufsressourcen einschränken" beschrieben werden.

Verwenden Sie die folgenden CLI-Befehle, um die erforderlichen Ressourcen zu erstellen. In den Befehlen werden mehrere lokale Variablen ($location, $resourcegroup, $eventhubnamespace und $eventhub) verwendet, die zuvor unter Einrichten lokaler Variablen für die CLI-Sitzung erstellt wurden.

Erstellen Sie einen Event Hubs-Namespace:

az eventhubs namespace create --name $eventhubnamespace --resource-group $resourcegroup --location $location

Erstellen Sie einen Event Hub in Ihrem Namespace:

az eventhubs eventhub create --name $eventhub --resource-group $resourcegroup --namespace-name $eventhubnamespace

Erstellen eines Kusto-Clusters (Azure Data Explorer) und einer Datenbank

Erstellen Sie als Nächstes einen Kusto-Cluster (Azure Data Explorer) und eine Datenbank, um die Daten von Azure Digital Twins zu erhalten.

Im Rahmen der späteren Einrichtung der Datenverlaufsverbindung gewähren Sie der Azure Digital Twins-Instanz mindestens die Rolle Mitwirkender (sie kann auch auf den Cluster zugreifen) und die Rolle Administrator für die Datenbank.

Wichtig

Stellen Sie sicher, dass der Cluster über aktivierten öffentlichen Netzwerkzugriff verfügt. Wenn der Azure Data Explorer-Cluster den Zugriff auf öffentliche Netzwerke deaktiviert hat, kann Azure Digital Twins die Tabellen und andere erforderliche Artefakte nicht konfigurieren, und das Setup des Datenverlaufs schlägt fehl.

Verwenden Sie die folgenden CLI-Befehle, um die erforderlichen Ressourcen zu erstellen. In den Befehlen werden mehrere lokale Variablen ($location, $resourcegroup, $clustername und $databasename) verwendet, die zuvor unter Einrichten lokaler Variablen für die CLI-Sitzung erstellt wurden.

Fügen Sie Ihrer CLI-Sitzung zunächst die Kusto-Erweiterung hinzu, falls sie noch nicht vorhanden ist.

az extension add --name kusto

Erstellen Sie als Nächstes den Kusto-Cluster. Die Ausführung des folgenden Befehls dauert 5 bis 10 Minuten, wobei ein E2a v4-Cluster im Entwicklertarif erstellt wird. Dieser Clustertyp verfügt über einen einzelnen Knoten für die Engine und den Datenverwaltungscluster und ist für Entwicklungs- und Testszenarien anwendbar. Weitere Informationen zu den Tarifen in Azure Data Explorer und zum Auswählen der richtigen Optionen für Ihre Produktionsworkload finden Sie unter Auswählen der richtigen Compute-SKU für Ihren Azure Data Explorer-Cluster und Azure Data Explorer – Preise.

az kusto cluster create --cluster-name $clustername --sku name="Dev(No SLA)_Standard_E2a_v4" tier="Basic" --resource-group $resourcegroup --location $location --type SystemAssigned

Erstellen Sie eine Datenbank in Ihrem neuen Kusto-Cluster (mit dem oben genannten Clusternamen und am gleichen Speicherort). Diese Datenbank wird zum Speichern kontextualisierter Azure Digital Twins-Daten verwendet. Mit dem folgenden Befehl wird eine Datenbank mit einem Zeitraum für vorläufiges Löschen von 365 Tagen und einem Cachezeitraum für heiße Daten von 31 Tagen erstellt. Weitere Informationen zu den verfügbaren Optionen für diesen Befehl finden Sie unter az kusto database create.

az kusto database create --cluster-name $clustername --database-name $databasename --resource-group $resourcegroup --read-write-database soft-delete-period=P365D hot-cache-period=P31D location=$location

Einrichten einer Datenverlaufsverbindung

Nachdem Sie nun die erforderlichen Ressourcen erstellt haben, verwenden Sie den Befehl in diesem Abschnitt, um eine Datenverlaufsverbindung zwischen der Azure Digital Twins-Instanz, dem Event Hub und dem Azure Data Explorer-Cluster zu erstellen.

Mit diesem Befehl werden auch drei Tabellen in Ihrer Azure Data Explorer-Datenbank erstellt, um Zwillingseigenschaftenaktualisierungen, Twin-Lifecycle-Ereignisse und Beziehungslebenszyklusereignisse zu speichern. Weitere Informationen zu diesen Arten von historisierten Daten und den entsprechenden Azure Data Explorer-Tabellen finden Sie unter Datentypen und Schemas.

Verwenden Sie den Befehl in diesem Abschnitt, um eine Datenverlaufsverbindung und die Tabellen im Azure-Daten-Explorer zu erstellen. Der Befehl erstellt immer eine Tabelle für historisierte Twin-Eigenschaftsereignisse und enthält Parameter zum Erstellen der Tabellen für Beziehungslebenszyklus- und Twin-Lifecycle-Ereignisse.

Hinweis

Bei diesem Befehl wird standardmäßig davon ausgegangen, dass sich alle Ressourcen in derselben Ressourcengruppe wie die Azure Digital Twins-Instanz befinden. Sie können Ressourcen angeben, die sich in verschiedenen Ressourcengruppen befinden, indem Sie die Parameteroptionen für diesen Befehl verwenden.

Der folgende Befehl verwendet lokale Variablen, die zuvor in der Einrichtung lokaler Variablen für cli-Sitzung erstellt wurden und mehrere Parameter aufweisen, einschließlich...

  • Die Namen der Beziehungslebenszyklus- und Twin-Lifecycle-Tabellen im Azure-Daten-Explorer (diese Parameter sind optional, wenn Sie diese Ereignistypen nicht historisieren möchten, aber erforderlich, wenn Sie diese Ereignistypen historisieren möchten)
  • Ein optionaler Parameter zum Angeben des Namens der Twin-Eigenschaftsereignistabelle (wenn dieser Wert nicht angegeben wird, wird diese Tabelle standardmäßig als AdtPropertyEvents bezeichnet). Wenn Sie keinen anderen Namen angeben möchten, entfernen Sie den --adx-property-events-table Parameter aus dem Befehl, bevor Sie ihn ausführen.
  • Der optionale Parameter --adx-record-removals zum Aktivieren der Historisierung für Löschvorgänge von Zwillingseigenschaften (Ereignisse, die Eigenschaften vollständig entfernen)
az dt data-history connection create adx --dt-name $dtname --cn $connectionname --adx-cluster-name $clustername --adx-database-name $databasename --eventhub $eventhub --eventhub-namespace $eventhubnamespace --adx-property-events-table $twinpropertytablename --adx-twin-events-table $twinlifecycletablename --adx-relationship-events-table $relationshiplifecycletablename --adx-record-removals true

Wenn Sie den obigen Befehl ausführen, haben Sie die Möglichkeit, die erforderlichen Berechtigungen zum Einrichten der Datenverlaufsverbindung in Ihrem Namen zuzuweisen (wenn Sie bereits die erforderlichen Berechtigungen zugewiesen haben, können Sie diese Eingabeaufforderungen überspringen). Diese Berechtigungen werden der verwalteten Identität Ihrer Azure Digital Twins-Instanz erteilt. Die mindestens erforderlichen Rollen sind:

  • Azure Event Hubs-Datenbesitzer im Event Hub
  • Mitwirkender, der mindestens auf die angegebene Datenbank zugreifen kann (kann auch auf den Cluster festgelegt werden)
  • Datenbankprinzipalzuweisung mit der Rolle „Administrator“ (für Tabellenerstellung/-verwaltung), die auf die angegebene Datenbank festgelegt ist

Bei einem regulären Datenebenenvorgang können diese Rollen auf eine einzige Rolle, nämlich auf den „Azure Event Hubs-Datensender“, reduziert werden.

Nach dem Einrichten der Datenverlaufsverbindung können Sie optional die Rollen entfernen, die Ihrer Azure Digital Twins-Instanz für den Zugriff auf die Event Hubs- und Azure Data Explorer-Ressourcen gewährt wurden. Um den Datenverlauf zu verwenden, ist die einzige Rolle, die die Instanz in Zukunft benötigt, Azure Event Hubs-Datensender (oder eine höhere Rolle, die diese Berechtigungen aufweist, z. B. Azure Event Hubs-Datenbesitzer) für die Event Hubs-Ressource.

Hinweis

Nachdem die Verbindung eingerichtet wurde, führen die Standardeinstellungen in Ihrem Azure Data Explorer-Cluster zu einer Erfassungslatenz von maximal ca. 10 Minuten. Sie können diese Latenz verringern, indem Sie die Streamingerfassung (weniger als 10 Sekunden Latenzzeit) oder eine Richtlinie für die Erfassungsbatchverarbeitung aktivieren. Weitere Informationen zur Azure Data Explorer-Erfassungslatenz finden Sie unter End-to-End-Erfassungslatenz.

Einschränken des Netzwerkzugriffs auf Datenverlaufsressourcen

Wenn Sie den Netzwerkzugriff auf die ressourcen einschränken möchten, die im Datenverlauf beteiligt sind (Ihre Azure Digital Twins-Instanz, Event Hub oder Azure Data Explorer-Cluster), sollten Sie diese Einschränkungen festlegen, nachdem Sie die Datenverlaufsverbindung eingerichtet haben. Dies umfasst das Deaktivieren des lokalen Zugriffs für Ihre Ressourcen unter anderem zur Verringerung des Netzwerkzugriffs.

Um sicherzustellen, dass Ihre Datenverlaufsressourcen miteinander kommunizieren können, sollten Sie auch die Datenverbindung für die Azure Data Explorer-Datenbank so ändern, dass eine vom System zugewiesene verwaltete Identität verwendet wird.

Führen Sie die nachstehenden Schritte aus, um sicherzustellen, dass Ihre Datenverlaufsverbindung ordnungsgemäß eingerichtet ist, wenn Ihre Ressourcen einen reduzierten Netzwerkzugriff benötigen.

  1. Stellen Sie sicher, dass die lokale Autorisierung für Ihre Datenverlaufsressourcen aktiviert ist (Ihre Azure Digital Twins-Instanz, Event Hub und Azure Data Explorer-Cluster)
  2. Erstellen der Datenverlaufsverbindung
  3. Aktualisieren Sie die Datenverbindung für die Azure Data Explorer-Datenbank, um eine vom System zugewiesene verwaltete Identität zu verwenden. In der Azure-Portal können Sie dies tun, indem Sie zum Azure Data Explorer-Cluster navigieren und Datenbanken im Menü verwenden, um zur Datenverlaufsdatenbank zu navigieren. Wählen Sie im Datenbankmenü "Datenverbindungen" aus. Im Tabelleneintrag für Ihre Datenverlaufsverbindung sollte die Option zum Zuweisen verwalteter Identität angezeigt werden, in der Sie "System zugewiesen" auswählen können. Screenshot of the option to assign a managed identity to a data connection in the Azure portal.
  4. Jetzt können Sie die lokale Autorisierung deaktivieren oder andere Netzwerkeinschränkungen für Ihre gewünschten Ressourcen festlegen, indem Sie die Zugriffseinstellungen für Ihre Azure Digital Twins-Instanz, den Event Hub oder den Azure Data Explorer-Cluster ändern.

Problembehandlung bei der Verbindungseinrichtung

Im Folgenden finden Sie einige häufige Fehler, die beim Einrichten einer Datenverlaufsverbindung auftreten können, und wie Sie diese beheben.

  • Wenn Sie den öffentlichen Netzwerkzugriff für Ihren Azure Data Explorer-Cluster deaktiviert haben, tritt ein Fehler auf, dass der Dienst die Datenverlaufsverbindung nicht erstellt hat, mit der Meldung "Die Ressource konnte aufgrund eines internen Serverfehlers nicht ACT" angezeigt werden. Das Einrichten des Datenverlaufs schlägt fehl, wenn der Azure Data Explorer-Cluster den Zugriff auf öffentliche Netzwerke deaktiviert hat, da Azure Digital Twins die Tabellen und andere erforderliche Artefakte nicht konfigurieren kann.
  • (CLI-Benutzer) Wenn der Fehler "Azure Digital Twins-Instanzverbindung konnte nicht erstellt werden. Unable to create table and mapping rule in database. Überprüfen Sie Ihre Berechtigungen für Azure Data Explorer und führen Sie az login aus, um Ihre Anmeldeinformationen zu aktualisieren.“ angezeigt wird, beheben Sie den Fehler, indem Sie sich selbst in Ihrem Azure Data Explorer-Cluster unter „Berechtigungen“ als AllDatabasesAdmin hinzufügen.
  • (Cloud Shell-Benutzer) Wenn Sie die Cloud Shell verwenden und auf den Fehler "Fehler beim Herstellen einer Verbindung mit MSI. Stellen Sie sicher, dass MSI ordnungsgemäß konfiguriert ist.“ angezeigt wird, versuchen Sie stattdessen, den Befehl mit einer lokalen Azure CLI-Installation auszuführen.

Überprüfen mit einem Beispielzwillingsgraphen

Nachdem Ihre Datenverlaufsverbindung eingerichtet wurde, können Sie sie mit Daten aus Ihren digitalen Zwillingen testen.

Wenn Sie bereits über Zwillinge in Ihrer Azure Digital Twins-Instanz verfügen, die aktiv Graphupdates erhalten (einschließlich Twin-Eigenschaftsaktualisierungen oder Aktualisierungen vom Ändern der Struktur des Diagramms durch Erstellen oder Löschen von Elementen), können Sie diesen Abschnitt überspringen und die Ergebnisse mithilfe Ihrer eigenen Ressourcen visualisieren.

Fahren Sie andernfalls mit diesem Abschnitt fort, um ein Beispieldiagramm einzurichten, das Twin- und Beziehungslebenszyklusereignissen unterzogen und Zwillingseigenschaftenupdates generiert.

Sie können einen Beispielgraphen für dieses Szenario mithilfe des Azure Digital Twins-Datensimulators einrichten. Der Azure Digital Twins Data Simulator erstellt Zwillinge und Beziehungen in Ihrer Azure Digital Twins-Instanz und verschiebt kontinuierlich Eigenschaftenaktualisierungen an die Zwillinge.

Erstellen eines Beispielgraphen

Sie können den Azure Digital Twins-Datensimulator verwenden, um ein Beispiel für einen Zwillingsgraphen zu erstellen und Eigenschaftsaktualisierungen per Push an diesen zu übertragen. Der hier erstellte Zwillingsgraph modelliert Pasteurisierungsprozesse für einen Molkereibetrieb.

Öffnen Sie zunächst den Azure Digital Twins-Datensimulator in Ihrem Browser. Legen Sie die folgenden Felder fest:

  • Instanz-URL: Geben Sie den Hostnamen Ihrer Azure Digital Twins-Instanz ein. Den Hostnamen finden Sie auf der Portalseite für Ihre Instanz. Er ist im Format <Azure-Digital-Twins-instance-name>.api.<region-code>.digitaltwins.azure.net angegeben.
  • Simulationstyp: Wählen Sie Dairy facility (Molkerei) aus dem Dropdownmenü aus.

Klicken Sie auf Umgebung generieren.

Screenshot of the Azure Digital Twins Data simulator.

Auf dem Bildschirm werden Bestätigungsmeldungen angezeigt, wenn Modelle, Zwillinge und Beziehungen in Ihrer Umgebung erstellt werden. Dadurch werden auch Twin- und Beziehungserstellungsereignisse generiert, die in Azure Data Explorer als Zwillings- bzw. Beziehungslebenszyklusereignisse historisiert werden.

Wenn die Simulation bereit ist, wird die Schaltfläche Simulation starten aktiviert. Scrollen Sie nach unten, und wählen Sie "Simulation starten" aus, um simulierte Daten an Ihre Azure Digital Twins-Instanz zu übertragen. Um die Zwillinge in Ihrer Azure Digital Twins-Instanz kontinuierlich zu aktualisieren, behalten Sie dieses Browserfenster im Vordergrund auf Dem Desktop und führen Sie andere Browseraktionen in einem separaten Fenster aus. Dadurch werden fortlaufend Twin-Eigenschaftsaktualisierungsereignisse generiert, die für Azure Data Explorer historisiert werden.

Anzeigen der historisierten Updates im Azure Data Explorer

In diesem Abschnitt wird gezeigt, wie Sie alle drei Arten von historisierten Updates anzeigen, die vom Simulator generiert und in Azure Data Explorer-Tabellen gespeichert wurden.

Beginnen Sie im Azure-Portal und navigieren Sie zu dem Azure Data Explorer-Cluster, den Sie zuvor erstellt haben. Wählen Sie im linken Menü den Bereich Datenbanken aus, um die Datenbankansicht zu öffnen. Suchen Sie die Datenbank, die Sie für diesen Artikel erstellt haben, aktivieren Sie das Kontrollkästchen daneben und klicken Sie dann auf Abfrage.

Screenshot of the Azure portal showing a database in an Azure Data Explorer cluster.

Erweitern Sie als Nächstes den Cluster und die Datenbank im linken Bereich, um den Namen der Datenverlaufstabellen anzuzeigen. Es sollte drei geben: eines für Beziehungslebenszyklusereignisse, eines für Twin-Lifecycle-Ereignisse und eines für Twin Property Update-Ereignisse. Sie verwenden diese Tabellennamen, um Abfragen für die Tabellen auszuführen, um die historisierten Daten zu überprüfen und anzuzeigen.

Screenshot of the Azure portal showing the query view for the database. The name of the data history table is highlighted.

Überprüfen von Tabelleneinträgen

Um zu überprüfen, ob Ereignisse in der Datenbank historisiert werden, kopieren Sie zunächst den folgenden Befehl. Sie verfügt über einen Platzhalter für den Namen der Tabelle für Beziehungslebenszyklusereignisse und ändert die Aufnahme der Tabelle in den Batchmodus , sodass daten aus der Livesimulation alle 10 Sekunden aufgenommen werden.

.alter table <relationship-lifecycle-events-table-name> policy ingestionbatching @'{"MaximumBatchingTimeSpan":"00:00:10", "MaximumNumberOfItems": 500, "MaximumRawDataSizeMB": 1024}'

Fügen Sie den Befehl in das Abfragefenster ein, und ersetzen Sie den Platzhalter durch den Namen der Beziehungsereignissetabelle. Wählen Sie die Schaltfläche "Ausführen " aus, um den Befehl auszuführen.

Screenshot of the Azure portal showing the query view for the database. The Run button is highlighted.

Wiederholen Sie den Befehl zweimal, indem Sie den Namen der Tabelle mit den Twin-Lifecycle-Ereignissen verwenden, und aktualisieren Sie dann die Eigenschaftsaktualisierungstabelle, um den Aufnahmemodus der anderen Tabellen zu aktualisieren.

Fügen Sie als Nächstes die folgenden Befehle zum Abfragefenster hinzu, und führen Sie sie aus. Jeder Befehl enthält einen Platzhalter für den Namen einer der Tabellen, und die Befehle geben die Anzahl der Elemente in den Tabellen aus.

Hinweis

Es kann bis zu fünf Minuten dauern, bis der erste Batch der erfassten Daten angezeigt wird.

<relationship-lifecycle-events-table-name>
| count

<twin-lifecycle-events-table-name>
| count

<twin-property-updates-table-name>
| count

Sie sollten in den Ergebnissen sehen, dass die Anzahl der Elemente in jeder Tabelle etwas größer als 0 ist, was angibt, dass Beziehungslebenszyklus-, Twin-Lebenszyklus- und Eigenschaftsaktualisierungsereignisse für ihre jeweiligen Tabellen historisiert werden.

Tabelle "Twin-Eigenschaftsaktualisierungen erkunden"

In diesem Abschnitt werden Sie einige weitere Erkundungen mit den Daten der Zwillingseigenschaftsaktualisierung durchführen, die sich in der Tabelle befinden.

Führen Sie zunächst den folgenden Befehl aus, um 100 Datensätze in der Tabelle anzuzeigen:

<twin-property-updates-table-name>
| limit 100

Führen Sie als Nächstes eine Abfrage basierend auf den Daten Ihrer Zwillinge aus, um die kontextualisierten Zeitreihendaten anzuzeigen.

Verwenden Sie die nachstehende Abfrage, um den Abfluss aller Salzmaschinen-Zwillinge in der Beispiel-Oslo-Milchfabrik zu erstellen. Diese Kusto-Abfrage verwendet das Azure Digital Twins-Plug-In, um die betreffenden Zwillinge auszuwählen, verknüpft diese Zwillinge mit den Datenverlaufszeitreihen in Azure Data Explorer und zeigt dann die Ergebnisse in Form von Diagrammen an. Stellen Sie sicher, dass Sie den <ADT-instance-host-name> Platzhalter durch den Hostnamen Ihrer Instanz und den <table-name> Platzhalter durch den Namen Ihrer Twin-Eigenschaftsereignisse-Tabelle ersetzen.

let ADTendpoint = "https://<ADT-instance-host-name>";
let ADTquery = ```SELECT SALT_MACHINE.$dtId as tid
FROM DIGITALTWINS FACTORY 
JOIN SALT_MACHINE RELATED FACTORY.contains 
WHERE FACTORY.$dtId = 'OsloFactory'
AND IS_OF_MODEL(SALT_MACHINE , 'dtmi:assetGen:SaltMachine;1')```;
evaluate azure_digital_twins_query_request(ADTendpoint, ADTquery)
| extend Id = tostring(tid)
| join kind=inner (<table-name>) on Id
| extend val_double = todouble(Value)
| where Key == "OutFlow"
| render timechart with (ycolumns = val_double)

Die Ergebnisse sollten zeigen, dass sich die Abflusszahlen im Laufe der Zeit ändern.

Screenshot of the Azure portal showing the query view for the database.

Problembehandlung für Verbindung

Wenn Im Azure-Daten-Explorer keine Daten angezeigt werden, funktioniert der Historisierungsdatenfluss nicht ordnungsgemäß. Sie können das Problem untersuchen, indem Sie den Event Hubs-Namespace im Azure-Portal anzeigen, in dem Diagramme angezeigt werden, die den Nachrichtenfluss in den Und aus dem Namespace anzeigen. Auf diese Weise können Sie sowohl den Fluss eingehender Nachrichten von Azure Digital Twins als auch die ausgehenden Nachrichten an Azure Data Explorer überprüfen, um zu ermitteln, welcher Teil des Flusses nicht funktioniert.

Screenshot of the Azure portal showing an Event Hubs namespace for the simulated environment.

Nächste Schritte

Um das Molkereiszenario weiter zu untersuchen, können Sie weitere Beispielabfragen auf GitHub einsehen, die zeigen, wie Sie die Leistung des Molkereibetriebs basierend auf Maschinentyp, Fabrik, Wartungstechniker und verschiedenen Kombinationen dieser Parameter überwachen können.

Informationen zum Erstellen von Grafana-Dashboards, die die Leistung des Molkereibetriebs visualisieren, finden Sie unter Erstellen von Dashboards mit Azure Digital Twins, Azure Data Explorer und Grafana.

Weitere Informationen zur Verwendung des Azure Digital Twins-Abfrage-Plug-Ins für Azure Data Explorer finden Sie unter Abfragen mit dem Azure Data Explorer-Plug-In und in diesem Blogbeitrag. Weitere Informationen zum Plug-In finden Sie hier: Abfragen mit dem Azure Data Explorer-Plug-In.