Verwalten von Endpunkten und Routen in Azure Digital Twins

In diesem Artikel wird das Erstellen von Endpunkten und Routen mit dem Azure-Portal, den REST-APIs, dem NET (C#) SKD und der Azure Digital Twins-CLI ausführlich erläutert.

In Azure Digital Twins können Sie Ereignisbenachrichtigungen an Downstreamdienste oder verbundene Computeressourcen weiterleiten. Bei diesem Prozess werden zunächst Endpunkte eingerichtet, die die Ereignisse empfangen können. Anschließend können Sie Ereignisrouten erstellen, die angeben, welche von Azure Digital Twins generierten Ereignisse an welche Endpunkte übermittelt werden.

Voraussetzungen

  • Sie benötigen ein Azure-Konto, das Sie kostenlos einrichten können.
  • Sie benötigen eine Azure Digital Twins-Instanz in Ihrem Azure-Abonnement. Falls Sie noch keine Instanz besitzen, können Sie zum Erstellen die Schritte in Einrichten einer Instanz und Authentifizierung befolgen. Notieren Sie sich die folgenden Werte aus dem Setup, um sie später in diesem Artikel zu verwenden:
    • Instanzname
    • Ressourcengruppe

Nachdem Sie Ihre Instanz eingerichtet haben, können Sie diese Details im Azure-Portal anzeigen. Melden Sie sich beim Portal an, und suchen Sie in der Suchleiste des Portals nach dem Namen Ihrer Instanz.

Screenshot: Suchleiste im Azure-Portal

Wählen Sie Ihre Instanz aus den Ergebnissen aus, damit diese Details auf der Seite „Übersicht“ für Ihre Instanz angezeigt werden:

Screenshot der Seite „Übersicht“ für eine Azure Digital Twins-Instanz im Azure-Portal. Der Name und die Ressourcengruppe sind hervorgehoben.

Befolgen Sie die nachstehenden Anweisungen, wenn Sie die Azure CLI verwenden möchten, während Sie diesen Leitfaden befolgen.

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.

Erstellen eines Endpunkts für Azure Digital Twins

Die folgenden Dienste sind die unterstützten Typen von Endpunkten, die Sie für Ihre Instanz erstellen können:

Hinweis

Für Event Grid Endpunkte werden nur Event Grid Topics unterstützt. Ereignisraster Domänen werden nicht als Endpunkte unterstützt.

Weitere Informationen zu den verschiedenen Endpunkttypen finden Sie unter Wählen zwischen Azure-Messagingdiensten.

In diesem Abschnitt wird erläutert, wie diese Endpunkte mithilfe des Azure-Portals oder der Azure CLI erstellt werden. Sie können Endpunkte auch mit den DigitalTwinsEndpoint-Steuerungsebenen-APIs verwalten.

Voraussetzung: Erstellen von Endpunktressourcen

Das für den Endpunkt verwendete Event Grid-, Event Hub- oder Service Bus-Thema muss bereits vorhanden sein, um einen Endpunkt mit Azure Digital Twins zu verknüpfen.

Verwenden Sie die folgenden Tabelle, um herauszufinden, welche Ressourcen eingerichtet werden sollten, bevor Sie den Endpunkt erstellen.

Endpunkttyp Erforderliche Ressourcen (mit Erstellungsanweisungen verknüpft)
Event Grid-Endpunkt Event Grid-Thema
*Ereignisschema muss Event Grid Schema oder Cloud Event Schema v1.0 sein
Event Hubs-Endpunkt Event Hubs-Namespace

Event Hub

(Optional) Autorisierungsregel für schlüsselbasierte Authentifizierung
Service Bus-Endpunkt Service Bus-Namespace

Service Bus-Topic

(Optional) Autorisierungsregel für schlüsselbasierte Authentifizierung

Erstellen des Endpunkts

Sobald Sie die Endpunktressourcen erstellt haben, können Sie sie für einen Azure Digital Twins-Endpunkt verwenden.

Navigieren Sie im Azure-Portal zur Seite Ihrer Instanz, um einen neuen Endpunkt zu erstellen. Die Instanz finden Sie, indem Sie ihren Namen in die Suchleiste im Portal eingeben.

  1. Wählen Sie im Instanzmenü die Option Endpunkte aus. Wählen Sie anschließend auf der darauffolgenden Seite Endpunkte die Option + Endpunkt erstellen aus. Dadurch wird die Seite Endpunkt erstellen geöffnet. Dort füllen Sie in den nächsten Schritten die Felder aus.

    Screenshot des Erstellens eines Endpunkts vom Typ „Event Grid“ im Azure-Portal.

  2. Geben Sie einen Namen für Ihren Endpunkt ein, und wählen Sie den Endpunkttyp.

  3. Geben Sie die restlichen für Ihren Endpunkttyp erforderlichen Informationen an, einschließlich Ihres Abonnements und der oben beschriebenen Endpunktressourcen.

    1. Nur für Event Hubs- und Service Bus-Endpunkte müssen Sie einen Authentifizierungstyp auswählen. Sie können schlüsselbasierte Authentifizierung mit einer vorab erstellten Autorisierungsregel verwenden oder die Option für eine systemseitig oder benutzerseitig zugewiesene verwaltete Identität auswählen.

    Screenshot: Erstellen eines Endpunkts vom Typ „Event Hubs“ im Azure-Portal.

  4. Schließen Sie die Erstellung Ihres Endpunkts ab, indem Sie auf Speichern klicken.

Wichtig

Damit Sie die identitätsbasierte Authentifizierung erfolgreich für Ihren Endpunkt verwenden können, müssen Sie eine verwaltete Identität für Ihre Instanz erstellen, indem Sie die Schritte unter Routen von Ereignissen mit einer verwalteten Identität befolgen.

Nach Erstellung Ihres Endpunkts können Sie überprüfen, ob der Endpunkt erfolgreich erstellt wurde, indem Sie das Benachrichtigungssymbol oben in der Leiste im Azure-Portal überprüfen:

Screenshot der Benachrichtigung zum Überprüfen der Erstellung eines Endpunkts im Azure-Portal.

Falls bei der Erstellung des Endpunkts ein Fehler auftritt, sollten Sie die Fehlermeldung beachten und den Vorgang nach einigen Minuten wiederholen.

Sie können auch den Endpunkt anzeigen, der erstellt wurde, indem Sie auf der Seite Endpunkte für Ihre Azure Digital Twins-Instanz nachsehen.

Nun ist das Event Grid-, Event Hub- oder Service Bus-Thema als Endpunkt in Azure Digital Twins unter dem Namen verfügbar, den Sie für den Endpunkt ausgewählt haben. Normalerweise verwenden Sie diesen Namen als Ziel einer Ereignisroute, die Sie später in diesem Artikel erstellen.

Erstellen eines Endpunkts mit unzustellbaren Nachrichten

Wenn ein Endpunkt innerhalb eines bestimmten Zeitraums oder nach einer bestimmten Anzahl von Übermittlungsversuchen nicht übermittelt werden kann, kann Event Grid das nicht übermittelte Ereignis an ein Speicherkonto senden. Dieser Prozess wird als Speicherung unzustellbarer Nachrichten bezeichnet.

Sie können die erforderlichen Speicherressourcen mithilfe des Azure-Portals oder der Azure Digital Twins-CLI einrichten. Endpunkte mit aktivierter Funktion für unzustellbare Nachrichten müssen Sie jedoch mit der Azure Digital Twins-CLI oder mit Steuerungsebenen-APIs einrichten.

Weitere Informationen zu unzustellbaren Nachrichten finden Sie unter Endpunkte und Ereignisrouten. Anweisungen zum Einrichten eines Endpunkts mit unzustellbaren Nachrichten finden Sie im Rest dieses Abschnitts.

Einrichten von Speicherressourcen

Wenn Sie den Speicherort für unzustellbare Nachrichten festlegen möchten, benötigen Sie ein Speicherkonto mit einem Containersetup in Ihrem Azure-Konto.

Später geben Sie den URI für diesen Container an, wenn Sie den Endpunkt erstellen. Die Position der unzustellbaren Nachrichten wird dem Endpunkt als Container-URI mit einem SAS-Token bereitgestellt. Dieses Token benötigt die write-Berechtigung für den Zielcontainer innerhalb des Speicherkontos. Der vollständig formatierte SAS-URI für unzustellbare Nachrichten weist das Format https://<storage-account-name>.blob.core.windows.net/<container-name>?<SAS-token> auf.

Führen Sie die folgenden Schritte aus, um diese Speicherressourcen in Ihrem Azure-Konto einzurichten, um so die Einrichtung der Endpunktverbindung im nächsten Abschnitt vorzubereiten.

  1. Befolgen Sie die Schritte in Erstellen eines Speicherkontos, um ein Speicherkonto in Ihrem Azure-Abonnement zu erstellen. Notieren Sie den Namen des Speicherkontos zur späteren Verwendung.
  2. Befolgen Sie die Schritte in Erstellen eines Containers, um einen Container innerhalb des neuen Speicherkontos zu erstellen. Notieren Sie sich den Containernamen, um ihn später zu verwenden.
Erstellen eines SAS-Token

Erstellen Sie als nächstes ein SAS-Token für Ihr Speicherkonto, das der Endpunkt für den Zugriff darauf verwenden kann.

  1. Navigieren Sie zunächst zu Ihrem Speicherkonto im Azure-Portal (Sie finden es über die Suchleiste im Portal).

  2. Wählen Sie auf der Speicherkontoseite den Link Shared Access Signature in der linken Navigationsleiste, um mit der Einrichtung des SAS-Tokens zu beginnen.

    Screenshot der Seite „Speicherkonto“ im Azure-Portal.

  3. Wählen Sie auf der Seite Shared Access Signature unter Zulässige Dienste und Zulässige Ressourcentypen die gewünschten Einstellungen aus. Sie müssen mindestens ein Feld in jeder Kategorie auswählen. Wählen Sie unter Zulässige Berechtigungen die Option Schreiben aus (Sie können auch andere Berechtigungen auswählen).

  4. Stellen Sie für die übrigen Einstellungen die gewünschten Werte ein.

  5. Wenn Sie fertig sind, klicken Sie auf die Schaltfläche SAS und Verbindungszeichenfolge generieren, um das SAS-Token zu generieren.

    Screenshot der Seite „Speicherkonto“ im Azure-Portal mit der gesamten Einstellungsauswahl zum Generieren eines SAS-Tokens.

  6. Hierdurch werden im unteren Bereich der gleichen Seite unter der Einstellungsauswahl mehrere Werte für die SAS und Verbindungszeichenfolgen generiert. Scrollen Sie nach unten, um die Werte anzuzeigen, und klicken Sie auf das Symbol In Zwischenablage kopieren, um den Wert des SAS-Tokens zu kopieren. Speichern Sie ihn zur späteren Verwendung.

    Screenshot der Seite „Speicherkonto“ im Azure-Portal, der hervorhebt, wie das SAS-Token kopiert wird, um es im Geheimnis für unzustellbare Nachrichten zu verwenden.

Erstellen des Endpunkts für unzustellbare Nachrichten

Zum Erstellen eines Endpunkts mit aktivierten unzustellbaren Nachrichten müssen Sie die CLI-Befehle oder die APIs der Steuerungsebene anstelle des Azure-Portals verwenden, um den Endpunkt zu erstellen.

Um Anweisungen zum Erstellen dieses Endpunkttyps mit der Azure CLI zu erhalten, wechseln Sie für diesen Abschnitt zur Registerkarte „CLI“.

Nachrichtenspeicherschema

Sobald der Endpunkt für unzustellbare Nachrichten eingerichtet ist, werden unzustellbare Nachrichten im folgenden Format in Ihrem Speicherkonto gespeichert:

<container>/<endpoint-name>/<year>/<month>/<day>/<hour>/<event-ID>.json

Unzustellbare Nachrichten entsprechen dem Schema des ursprünglichen Ereignisses, das an den ursprünglichen Endpunkt übermittelt werden sollte.

Im Folgenden finden Sie ein Beispiel für eine unzustellbare Nachricht für eine Benachrichtigung zur Erstellung eines Zwillings:

{
  "specversion": "1.0",
  "id": "xxxxxxxx-xxxxx-xxxx-xxxx-xxxxxxxxxxxx",
  "type": "Microsoft.DigitalTwins.Twin.Create",
  "source": "<your-instance>.api.<your-region>.da.azuredigitaltwins-test.net",
  "data": {
    "$dtId": "<your-instance>xxxxxxxx-xxxxx-xxxx-xxxx-xxxxxxxxxxxx",
    "$etag": "W/\"xxxxxxxx-xxxxx-xxxx-xxxx-xxxxxxxxxxxx\"",
    "TwinData": "some sample",
    "$metadata": {
      "$model": "dtmi:test:deadlettermodel;1",
      "room": {
        "lastUpdateTime": "2020-10-14T01:11:49.3576659Z"
      }
    }
  },
  "subject": "<your-instance>xxxxxxxx-xxxxx-xxxx-xxxx-xxxxxxxxxxxx",
  "time": "2020-10-14T01:11:49.3667224Z",
  "datacontenttype": "application/json",
  "traceparent": "00-889a9094ba22b9419dd9d8b3bfe1a301-f6564945cb20e94a-01"
}

Erstellen einer Ereignisroute

Wenn Sie tatsächlich Daten von Azure Digital Twins an einen Endpunkt senden möchten, müssen Sie eine Ereignisroute definieren. Diese Routen ermöglichen es Entwicklern, den Ereignisdatenfluss im gesamten System und zu Downstreamdiensten einzurichten. Eine einzelne Route kann es ermöglichen, dass mehrere Benachrichtigungen und Ereignistypen ausgewählt werden. Weitere Informationen zu Ereignisrouten finden Sie unter Endpunkte und Ereignisrouten.

Voraussetzung: Erstellen Sie Endpunkte wie weiter oben in diesem Artikel beschrieben, bevor Sie mit dem Erstellen einer Route fortfahren. Nachdem die Einrichtung Ihrer Endpunkte abgeschlossen ist, können Sie mit dem Erstellen einer Ereignisroute fortfahren.

Hinweis

Wenn Sie Ihre Endpunkte gerade erst bereitgestellt haben, vergewissern Sie sich, dass die Bereitstellung abgeschlossen ist, bevor Sie versuchen, die Endpunkte für eine neue Ereignisroute zu verwenden. Wenn die Routenbereitstellung fehlschlägt, weil die Endpunkte noch nicht bereit sind, warten Sie einige Minuten, und versuchen Sie es dann erneut.

Wenn Sie eine Skripterstellung für diesen Flow durchführen, sollten Sie dies berücksichtigen, indem Sie eine Wartezeit von zwei bis drei Minuten vorsehen, damit der Endpunktdienst die Bereitstellung abschließen kann, bevor mit der Routeneinrichtung fortgefahren wird.

Eine Routendefinition kann folgende Elemente enthalten:

  • Den Routennamen, den Sie verwenden möchten.
  • Den Namen des Endpunkts, den Sie verwenden möchten.
  • Ein Filter, der definiert, welche Ereignisse an den Endpunkt gesendet werden.
    • Um die Route zu deaktivieren, damit keine Ereignisse gesendet werden, verwenden Sie den Filterwert false.
    • Um eine Route zu aktivieren, für die keine bestimmte Filterung gilt, verwenden Sie den Filterwert true.
    • Ausführliche Informationen zu allen anderen Filtertypen finden Sie unten im Abschnitt Filtern von Ereignissen.

Wenn es keinen Routennamen gibt, werden keine Nachrichten außerhalb von Azure Digital Twins weitergeleitet. Wenn es einen Routennamen gibt und der Filter true lautet, werden alle Nachrichten an den Endpunkt weitergeleitet. Wenn es einen Routennamen gibt und ein anderer Filter hinzugefügt wird, werden Nachrichten auf der Grundlage des Filters gefiltert.

Ereignisrouten können mit dem Azure-Portal, den EventRoutes-Datenebenen-APIs oder den az dt route-CLI-Befehlen erstellt werden. Der Rest dieses Abschnitts führt Sie durch den Erstellungsprozess.

Navigieren Sie zum Erstellen einer Ereignisroute im Azure-Portal zur Detailseite für Ihre Azure Digital Twins-Instanz. (Sie können auf die Instanz zugreifen, indem Sie ihren Namen im Portal in der Suchleiste eingeben.)

Wählen Sie im Instanzmenü die Option Ereignisrouten aus. Wählen Sie anschließend auf der Seite Ereignisrouten die Option + Create an event route (+ Ereignisroute erstellen) aus.

Wählen Sie auf der Seite Create an event route (Ereignisroute erstellen) mindestens Folgendes aus:

  • Einen Namen für Ihre Route im Feld Name.
  • Den Endpunkt, den Sie zum Erstellen der Route verwenden möchten.

Zum Aktivieren der Route müssen Sie auch einen Ereignisroutenfilter hinzufügen, für den mindestens true festgelegt ist. (Wenn Sie den Standardwert false beibehalten, wird die Route erstellt, aber es werden keine Ereignisse dafür gesendet.) Verwenden Sie hierfür den Umschalter für Erweiterter Editor, um ihn zu aktivieren, und geben Sie im Feld Filter die Zeichenfolge true ein.

Screenshot des Erstellens einer Ereignisroute für Ihre Instanz im Azure-Portal.

Wählen Sie nach Abschluss des Vorgangs die Schaltfläche Speichern aus, um Ihre Ereignisroute zu erstellen.

Filtern von Ereignissen

Wie oben beschrieben, verfügen Routen über das Feld Filter. Wenn der Filterwert für Ihre Route false lautet, werden keine Ereignisse an Ihren Endpunkt gesendet.

Nachdem mindestens true als Filterwert ausgewählt wurde, erhalten Endpunkte verschiedene Arten von Ereignissen von Azure Digital Twins:

  • Telemetrie, die von digitalen Zwillingen unter Verwendung der Azure Digital Twins-Dienst-API ausgelöst wird.
  • Änderungsbenachrichtigungen für Zwillingseigenschaften, ausgelöst bei Eigenschaftsänderungen für einen Zwilling in der Azure Digital Twins-Instanz.
  • Lebenszyklusereignisse, die ausgelöst werden, wenn Zwillinge oder Beziehungen erstellt oder gelöscht werden.

Sie können die Ereignistypen beschränken, die gesendet werden, indem Sie einen spezifischeren Filter definieren.

Hinweis

Filter unterscheiden zwischen Groß- und Kleinschreibung und müssen mit der Groß-/Kleinschreibung der Nutzlast übereinstimmen.

Für Telemetriefilter bedeutet dies, dass die Groß-/Kleinschreibung mit der Groß-/Kleinschreibung in der vom Gerät gesendeten Telemetrie übereinstimmen muss und nicht unbedingt mit der im Modell des Zwillings definierten Groß-/Kleinschreibung.

Verwenden Sie auf der Seite Ereignisroute erstellen den Abschnitt Ereignisroutenfilter hinzufügen, um beim Erstellen einer Ereignisroute einen Ereignisfilter hinzuzufügen.

Sie können entweder eine Auswahl aus einigen grundlegenden allgemeinen Filteroptionen treffen oder die erweiterten Filteroptionen verwenden, um Ihre eigenen benutzerdefinierten Filter zu schreiben.

Verwenden der grundlegenden Filter

Erweitern Sie zur Verwendung der grundlegenden Filter die Option Ereignistypen, und wählen Sie die Kontrollkästchen für die Ereignisse aus, die Sie an Ihren Endpunkt senden möchten.

Screenshot des Erstellens einer Ereignisroute mit einem einfachen Filter im Azure-Portal, der die Kontrollkästchen für die Ereignisse hervorhebt.

Dies führt dazu, dass das Filtertextfeld automatisch mit dem Text des von Ihnen ausgewählten Filters gefüllt wird:

Screenshot: Erstellen einer Ereignisroute mit einem einfachen Filter im Azure-Portal. Automatisch eingefügter Filtertext nach der Auswahl der Ereignisse hervorgehoben.

Verwenden der erweiterten Filter

Sie können auch die erweiterte Filteroption verwenden, um Ihre eigenen benutzerdefinierten Filter zu schreiben.

Aktivieren Sie Erweiterter Editor mit dem Umschalter, um ihn zu aktivieren, wenn Sie eine Ereignisroute mit erweiterten Filteroptionen erstellen möchten. Sie können im Feld Filter dann Ihre eigenen Ereignisfilter schreiben:

Screenshot des Erstellens einer Ereignisroute mit einem erweiterten Filter im Azure-Portal.

Unterstützte Routenfilter

Dies sind die unterstützten Routenfilter.

Filtername BESCHREIBUNG Filtertextschema Unterstützte Werte
True/False Ermöglicht das Erstellen einer Route ohne Filterung oder das Deaktivieren einer Route, sodass keine Ereignisse gesendet werden. <true/false> true = Route ist ohne Filterung aktiviert.
false = Route ist deaktiviert.
type Der Ereignistyp, der durch Ihre digitale Zwillingsinstanz fließt. type = '<event-type>' Folgende Werte für Ereignistypen sind möglich:
Microsoft.DigitalTwins.Twin.Create
Microsoft.DigitalTwins.Twin.Delete
Microsoft.DigitalTwins.Twin.Update
Microsoft.DigitalTwins.Relationship.Create
Microsoft.DigitalTwins.Relationship.Update
Microsoft.DigitalTwins.Relationship.Delete
microsoft.iot.telemetry
`Source` Der Name der Azure Digital Twins-Instanz. source = '<host-name>' Dies sind die möglichen Werte für Hostnamen:

Für Benachrichtigungen: <your-Digital-Twins-instance>.api.<your-region>.digitaltwins.azure.net

Für Telemetrie: <your-Digital-Twins-instance>.api.<your-region>.digitaltwins.azure.net/<twin-ID>
Subject Eine Beschreibung des Ereignisses im Zusammenhang mit der oben genannten Ereignisquelle. subject = '<subject>' Folgende Werte für den Betreff sind möglich:

Für Benachrichtigungen: Der Betreff ist <twin-ID>.
oder ein URI-Format für Betreffelemente, die durch mehrere Teile oder IDs eindeutig identifiziert werden:
<twin-ID>/relationships/<relationship-ID>

Für Telemetrie: Der Betreff ist der Komponentenpfad (wenn die Telemetrie von einer Zwillingskomponente ausgegeben wird), z. B. comp1.comp2. Wenn die Telemetrie nicht von einer Komponente ausgegeben wird, dann ist ihr Betrefffeld leer.
Datenschema DTDL-Modell-ID dataschema = '<model-dtmi-ID>' Für Telemetrie: Das Datenschema ist die Modell-ID des Zwillings oder der Komponente, der bzw. die die Telemetrie ausgibt. Zum Beispiel, dtmi:example:com:floor4;2

Für Benachrichtigungen (Erstellen/Löschen): Der Zugriff auf das Datenschema kann im Benachrichtigungstext unter $body.$metadata.$model erfolgen.

Für Benachrichtigungen (Aktualisieren): Der Zugriff auf das Datenschema kann im Benachrichtigungstext unter $body.modelId erfolgen.
Inhaltstyp Der Inhaltstyp des Datenwerts. datacontenttype = '<content-type>' Der Inhaltstyp lautet application/json.
Spezifikationsversion Die Version des von Ihnen verwendeten Ereignisschemas specversion = '<version>' Die Version muss 1.0 sein. Dieser Wert gibt das CloudEvents-Schema, Version 1.0, an.
Benachrichtigungstext Verweisen auf eine beliebige Eigenschaft im Feld data einer Benachrichtigung. $body.<property> Beispiele für Benachrichtigungen finden Sie unter Ereignisbenachrichtigungen. Auf jede Eigenschaft im Feld data kann mit $body verwiesen werden.

Hinweis

Azure Digital Twins unterstützt derzeit das Filtern von Ereignissen basierend auf Feldern innerhalb eines Arrays nicht. Dies schließt auch das Filtern nach Eigenschaften innerhalb eines patch-Abschnitts einer Änderungsbenachrichtigung für digitale Zwillinge ein.

Die folgenden Datentypen werden als Werte unterstützt, die von Verweisen auf die oben aufgeführten Daten zurückgegeben werden:

Datentyp Beispiel
String STARTS_WITH($body.$metadata.$model, 'dtmi:example:com:floor')
CONTAINS(subject, '<twin-ID>')
Integer $body.errorCode > 200
Double $body.temperature <= 5.5
Bool $body.poweredOn = true
Null $body.prop != null

Die folgenden Operatoren werden beim Definieren von Routenfiltern unterstützt:

Familie Operatoren Beispiel
Logisch AND, OR, ( ) (type != 'microsoft.iot.telemetry' OR datacontenttype = 'application/json') OR (specversion != '1.0')
Vergleich <, <=, >, >=, =, != $body.temperature <= 5.5

Die folgenden Funktionen werden beim Definieren von Routenfiltern unterstützt:

Funktion BESCHREIBUNG Beispiel
STARTS_WITH(x,y) Gibt TRUE zurück, wenn der Wert x mit der Zeichenfolge y beginnt. STARTS_WITH($body.$metadata.$model, 'dtmi:example:com:floor')
ENDS_WITH(x,y) Gibt TRUE zurück, wenn der Wert x mit der Zeichenfolge y endet. ENDS_WITH($body.$metadata.$model, 'floor;1')
CONTAINS(x,y) Gibt TRUE zurück, wenn der Wert x die Zeichenfolge y enthält. CONTAINS(subject, '<twin-ID>')

Wenn Sie einen Filter implementieren oder aktualisieren, kann es einige Minuten dauern, bis sich die Änderung in der Datenpipeline widerspiegelt.

Überwachen von Ereignisrouten

Routingmetriken wie Anzahl, Wartezeit und Ausfallrate können im Azure-Portal angezeigt werden.

Informationen zum Anzeigen und Verwalten von Metriken mit Azure Monitor finden Sie unter Erste Schritte mit dem Metrik-Explorer. Eine vollständige Liste der für Azure Digital Twins verfügbaren Routingmetriken finden Sie unter Azure Digital Twins-Routingmetriken.

Nächste Schritte

Informieren Sie sich über die verschiedenen Arten von Ereignismeldungen, die Sie erhalten können: