Tutorial: Empfangen von Benachrichtigungen von den Azure Digital Twins-Gebäudebereichen mit Logic Apps
Wichtig
Eine neue Version des Azure Digital Twins-Diensts wurde veröffentlicht. Angesichts der erweiterten Funktionen des neuen Diensts wurde der ursprüngliche Azure Digital Twins-Dienst (in diesem Dokumentationssatz beschrieben) eingestellt.
Um die Dokumentation für den neuen Dienst anzuzeigen, besuchen Sie die aktive Azure Digital Twins-Dokumentation.
Nachdem Sie Ihre Azure Digital Twins-Instanz sowie Ihre Gebäudebereiche bereitgestellt und benutzerdefinierte Funktionen zum Überwachen bestimmter Bedingungen implementiert haben, können Sie Ihren Büroadministrator per E-Mail benachrichtigen, wenn die überwachten Bedingungen auftreten.
Im ersten Tutorial haben Sie den Raumgraphen eines imaginären Gebäudes konfiguriert. Ein Raum im Gebäude enthält Bewegungs-, Kohlendioxid- und Temperatursensoren. Im zweiten Tutorial haben Sie den Graphen und eine benutzerdefinierte Funktion bereitgestellt, um diese Sensorwerte zu überwachen und Benachrichtigungen auszulösen, wenn der Raum leer ist und die Temperatur- und Kohlendioxidwerte im zulässigen Bereich liegen.
In diesem Tutorial erfahren Sie, wie Sie diese Benachrichtigungen in Azure Logic Apps integrieren, um E-Mails zu senden, wenn ein solcher Raum verfügbar ist. Mithilfe dieser Informationen kann ein Büroadministrator die Mitarbeiter beim Buchen des am besten geeigneten Besprechungsraums unterstützen.
In diesem Tutorial lernen Sie Folgendes:
- Integrieren von Ereignissen in Azure Event Grid
- Senden von Benachrichtigungen über Ereignisse mit Logic Apps
Voraussetzungen
In diesem Tutorial wird vorausgesetzt, dass Sie das Azure Digital Twins-Setup konfiguriert and bereitgestellt haben. Stellen Sie sicher, dass Sie über Folgendes verfügen, bevor Sie fortfahren:
- Ein Azure-Konto.
- Eine aktive Instanz von Azure Digital Twins.
- Die C#-Beispiele für Digital Twins (auf den Arbeitscomputer heruntergeladen und extrahiert).
-
.NET Core SDK Version 2.1.403 oder höher auf dem Entwicklungscomputer zum Ausführen des Beispiels. Führen Sie
dotnet --version
aus, um zu überprüfen, ob die richtige Version installiert ist. - Ein Office 365 Konto zum Senden von Benachrichtigungs-E-Mails.
Tipp
Verwenden Sie bei der Bereitstellung einer neuen Instanz einen eindeutigen Namen für die Digital Twins-Instanz.
Integrieren von Ereignissen in Event Grid
In diesem Abschnitt richten Sie Event Grid ein, um Ereignisse von Ihrer Digital Twins-Instanz zu erfassen, die Sie dann an einen Ereignishandler wie Logic Apps umleiten.
Erstellen eines Event Grid-Themas
Ein Event Grid-Thema stellt eine Schnittstelle zum Weiterleiten der Ereignisse bereit, die von der benutzerdefinierten Funktion generiert werden.
Melden Sie sich beim Azure-Portal an.
Klicken Sie im linken Bereich auf Ressource erstellen.
Suchen Sie nach der Option Event Grid-Thema, und wählen Sie sie aus. Klicken Sie auf Erstellen.
Geben Sie einen Namen für Ihr Event Grid-Thema ein, und wählen Sie das Abonnement aus. Wählen Sie die Ressourcengruppe, die Sie für Ihre Digital Twins-Instanz verwendet oder erstellt haben, und den Standort aus. Klicken Sie auf Erstellen.
Navigieren Sie in Ihrer Ressourcengruppe zum Event Grid-Thema, wählen Sie Übersicht aus, und kopieren Sie den Wert für Themenendpunkt in eine temporäre Datei. Diese URL wird im nächsten Abschnitt benötigt.
Wählen Sie Zugriffsschlüssel, und kopieren Sie Schlüssel 1 und Schlüssel 2 in eine temporäre Datei. Sie benötigen diese Werte im nächsten Abschnitt, um den Endpunkt zu erstellen.
Erstellen eines Endpunkts für das Event Grid-Thema
Vergewissern Sie sich im Befehlsfenster, dass Sie sich im Ordner occupancy-quickstart\src des Digital Twins-Beispiels befinden.
Öffnen Sie die Datei actions\createEndpoints.yaml im Visual Studio Code-Editor. Stellen Sie sicher, dass die Datei Folgendes enthält:
- type: EventGrid eventTypes: - SensorChange - SpaceChange - TopologyOperation - UdfCustom connectionString: <Primary connection string for your Event Grid> secondaryConnectionString: <Secondary connection string for your Event Grid> path: <Event Grid Topic Name without https:// and /api/events, e.g. eventgridname.region.eventgrid.azure.net>
Ersetzen Sie den Platzhalter
<Primary connection string for your Event Grid>
durch den Wert von Schlüssel 1.Ersetzen Sie den Platzhalter
<Secondary connection string for your Event Grid>
durch den Wert von Schlüssel 2.Ersetzen Sie den Platzhalter für path durch den Pfad des Event Grid-Themas. Diesen Pfad erhalten Sie, indem Sie https:// und die nachgestellten Ressourcenpfade aus der Themenendpunkt-URL entfernen. Der Pfad sollte in etwa wie folgt aussehen: IhrEventGridName.IhrStandort.eventgrid.azure.net.
Wichtig
Geben Sie alle Werte ohne Anführungszeichen ein. Stellen Sie sicher, dass nach den Doppelpunkten in der YAML-Datei mindestens ein Leerzeichen vorhanden ist. Sie können den Inhalt der YAML-Datei auch mit einer beliebigen YAML-Onlinevalidierung überprüfen, beispielsweise mit diesem Tool.
Speichern und schließen Sie die Datei. Führen Sie im Befehlsfenster den folgenden Befehl aus, und melden Sie sich an, wenn Sie dazu aufgefordert werden.
dotnet run CreateEndpoints
Dieser Befehl erstellt den Endpunkt für Event Grid.
Senden von Benachrichtigungen über Ereignisse mit Logic Apps
Mit dem Azure Logic Apps-Dienst können Sie automatisierte Aufgaben für Ereignisse erstellen, die von anderen Diensten empfangen werden. In diesem Abschnitt richten Sie Logic Apps mithilfe eines Event Grid-Themas zum Erstellen von E-Mail-Benachrichtigungen für Ereignisse ein, die von Ihren Raumsensoren weitergeleitet werden.
Wählen Sie auf der linken Seite im Azure-Portal die Option Ressource erstellen aus.
Suchen Sie nach einer neuen Logik-App-Ressource, und wählen Sie sie aus. Klicken Sie auf Erstellen.
Geben Sie einen Namen für die Logik-App-Ressource ein, und wählen Sie dann Ihr Abonnement, Ihre Ressourcengruppe sowie Ihren Standort aus. Klicken Sie auf Erstellen.
Öffnen Sie Ihre Logik-Apps-Ressource, wenn sie bereitgestellt wird, und öffnen Sie dann den Designerbereich der Logik-App .
Wählen Sie den Trigger Bei Auftreten eines Event Grid-Ressourcenereignisses aus. Erweitern Sie die Option Azure Event Grid, und melden Sie sich mit Ihrem Azure-Konto bei Ihrem Mandanten an, wenn Sie dazu aufgefordert werden. Wählen Sie bei entsprechender Aufforderung für die Event Grid-Ressource Zugriff zulassen aus. Wählen Sie Weiter.
Führen Sie im Fenster When a resource event occurs (Bei Auftreten eines Ressourcenereignisses) die folgenden Schritte aus:
a. Wählen Sie das Abonnement aus, das Sie zum Erstellen des Event Grid-Themas verwendet haben.
b. Wählen Sie Microsoft.EventGrid.Topics als Ressourcentyp aus.
c. Wählen Sie Ihre Event Grid-Ressource im Dropdownfeld Ressourcenname aus.
Wählen Sie die Schaltfläche "Neuer Schritt " aus.
Führen Sie im Fenster Aktion auswählen die folgenden Schritte aus:
a. Suchen Sie nach dem Ausdruck json analysieren, und wählen Sie die Aktion JSON analysieren aus.
b. Wählen Sie im Feld Inhalt in der Liste Dynamischer Inhalt die Option Text aus.
c. Wählen Sie Beispielnutzlast zum Generieren eines Schemas verwenden aus. Fügen Sie die folgende JSON-Nutzlast ein, und wählen Sie dann Fertig aus.
{ "id": "32162f00-a8f1-4d37-aee2-9312aabba0fd", "subject": "UdfCustom", "data": { "TopologyObjectId": "20efd3a8-34cb-4d96-a502-e02bffdabb14", "ResourceType": "Space", "Payload": "\"Air quality is poor.\"", "CorrelationId": "32162f00-a8f1-4d37-aee2-9312aabba0fd" }, "eventType": "UdfCustom", "eventTime": "0001-01-01T00:00:00Z", "dataVersion": "1.0", "metadataVersion": "1", "topic": "/subscriptions/a382ee71-b48e-4382-b6be-eec7540cf271/resourceGroups/HOL/providers/Microsoft.EventGrid/topics/DigitalTwinEventGrid" }
Diese Nutzlast enthält fiktive Werte. Logic Apps verwendet diese Beispielnutzlast zum Generieren eines Schemas.
Wählen Sie die Schaltfläche "Neuer Schritt " aus.
Führen Sie im Fenster Aktion auswählen die folgenden Schritte aus:
a. Wählen Sie "Steuerelementbedingung>" oder "Suchbedingung" aus der Liste "Aktionen" aus.
b. Wählen Sie im ersten Textfeld Wert auswählen die Option eventType in der Liste Dynamischer Inhalt für das Fenster JSON analysieren aus.
c. Geben Sie
UdfCustom
ins zweite Textfeld Wert auswählen ein.Führen Sie im Fenster Bei TRUE die folgenden Schritte aus:
a. Wählen Sie Aktion hinzufügen und dann Office 365 Outlook aus.
b. Wählen Sie in der Liste Aktionen die Option E-Mail senden (V2) aus. Wählen Sie Anmelden, und verwenden Sie die Anmeldeinformationen für Ihr E-Mail-Konto. Wählen Sie Zugriff zulassen aus, wenn Sie dazu aufgefordert werden.
c. Geben Sie im Feld An Ihre E-Mail-ID ein, um Benachrichtigungen zu erhalten. Geben Sie im Betreff den Text Digital Twins-Benachrichtigung für schlechte Luftqualität in Gebäudebereich ein. Wählen Sie dann TopologyObjectId in der Liste Dynamischer Inhalt für JSON analysieren aus.
d. Geben Sie unter " Textkörper " im selben Fenster Text wie folgt ein: Schlechte Luftqualität, die in einem Raum erkannt wurde, und die Temperatur muss angepasst werden. Sie können mit den Elementen in der Liste Dynamischer Inhalt genauere Details angeben.
Wählen Sie oben im Designerbereich der Logik-App die Schaltfläche "Speichern" aus.
Stellen Sie sicher, dass Sie Sensordaten simulieren. Navigieren Sie dazu in einem Befehlsfenster zum Ordner device-connectivity des Digital Twins-Beispiels, und führen Sie den Befehl
dotnet run
aus.
Nach einigen Minuten sollten Sie die ersten E-Mail-Benachrichtigungen von der Logic Apps-Ressource erhalten.
Wenn Sie keine E-Mails mehr empfangen möchten, navigieren Sie im Portal zu Ihrer Logic Apps-Ressource, und wählen Sie den Bereich Übersicht aus. Wählen Sie Deaktivieren aus.
Bereinigen von Ressourcen
Falls Sie sich nicht weiter mit Azure Digital Twins befassen möchten, können Sie die in diesem Tutorial erstellten Ressourcen löschen:
Wählen Sie im Azure-Portal im Menü auf der linken Seite Alle Ressourcen und Ihre Digital Twins-Ressourcengruppe aus, und klicken Sie auf Löschen.
Tipp
Für den Fall, dass bei Ihnen Probleme beim Löschen der Digital Twins-Instanz aufgetreten sind, wurde ein Dienstupdate mit einer entsprechenden Korrektur bereitgestellt. Versuchen Sie erneut, die Instanz zu löschen.
Löschen Sie ggf. die Beispielanwendungen auf Ihrem Arbeitscomputer.
Nächste Schritte
Fahren Sie mit dem nächsten Tutorial fort, um zu erfahren, wie Sie Ihre Sensordaten visualisieren, Trends analysieren und Abweichungen erkennen:
Sie können sich auch ausführlicher über die Raumintelligenzgraphen und Objektmodelle in Azure Digital Twins informieren: