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.
Verwenden Sie Azure Logic Apps, um eingehende Gerätetelemetrie über IoT Hub zu überwachen und Benachrichtigungen zu senden, wenn Warnungen ausgelöst werden.
Mit Azure Logic Apps können Sie Workflows lokal und cloudübergreifend, mehrere Unternehmen und verschiedene Protokolle koordinieren. Eine Logik-App beginnt mit einem Trigger, gefolgt von einer oder mehreren Aktionen, die mit integrierten Steuerelementen wie Bedingungen und Iteratoren sequenziert werden können. Diese Flexibilität macht Logic Apps zu einer idealen IoT-Lösung für IoT-Überwachungsszenarien. Beispielsweise kann das Eintreffen von Daten von einem Gerät an einem IoT Hub-Endpunkt Logik-App-Workflows initiieren, um die Daten in einem Azure Storage-Blob zu speichern, E-Mail-Benachrichtigungen zu senden, um Datenanomalien zu warnen, einen Technikerbesuch zu planen, wenn ein Gerät einen Fehler meldet usw.
In diesem Lernprogramm führen Sie die folgenden Aufgaben aus:
Erstellen Sie eine Servicebus-Warteschlange. Erstellen Sie eine Route in Ihrem IoT-Hub, die Nachrichten an die Servicebus-Warteschlange sendet, wenn die Nachrichten anomale Temperaturwerte enthalten. Erstellen Sie eine Logik-App, die auf Nachrichten überwacht, die in der Warteschlange ankommen, und sendet eine E-Mail-Benachrichtigung.
Der clientcode, der auf Ihrem Gerät ausgeführt wird, legt für jede Telemetrienachricht, die er an Ihren IoT-Hub sendet, temperatureAlerteine Anwendungseigenschaft fest. Wenn der Clientcode eine Temperatur über einem bestimmten Schwellenwert erkennt, setzt dieser die Eigenschaft auf true; andernfalls setzt er die Eigenschaft auf false.
Nachrichten, die an Ihrem IoT-Hub ankommen, sehen ähnlich wie folgt aus, wobei die Im Textkörper enthaltenen Telemetriedaten und die temperatureAlert Eigenschaft in den Anwendungseigenschaften enthalten sind (Systemeigenschaften werden nicht angezeigt):
{
"body": {
"messageId": 18,
"deviceId": "Raspberry Pi Web Client",
"temperature": 27.796111770668457,
"humidity": 66.77637926438427
},
"applicationProperties": {
"temperatureAlert": "false"
}
}
Wenn Sie kein Azure-Abonnement besitzen, können Sie ein kostenloses Konto erstellen, bevor Sie beginnen.
Voraussetzungen
Bereiten Sie die folgenden Voraussetzungen vor, bevor Sie mit diesem Lernprogramm beginnen.
Ein aktives Azure-Abonnement.
Ein IoT-Hub in Ihrem Abonnement.
Eine Client-App, die Temperaturdaten an Ihren Azure IoT-Hub sendet. Dieses Lernprogramm filtert Geräte-zu-Cloud-Nachrichten basierend auf einer Nachrichteneigenschaft, die genannt wird
temperatureAlert. Einige Beispiele zum Generieren von Nachrichten mit dieser Eigenschaft sind:- .NET SDK: SimulatedDevice
- Java SDK: send-event
- Node.js SDK: simple_sample_device
- C SDK: iothub_II_client_shared_sample
- Codelos: Raspberry Pi Online-Simulator
Erstellen des ServiceBus-Namespaces und der Warteschlange
Erstellen Sie einen Service Bus-Namespace und eine Service Bus-Warteschlange. Später in diesem Artikel erstellen Sie eine Routingregel in Ihrem IoT-Hub, um Nachrichten zu leiten, die eine Temperaturwarnung für die Servicebus-Warteschlange enthalten. Eine Logik-App überwacht die Warteschlange für eingehende Nachrichten und sendet eine Benachrichtigung für jede Warnung.
Erstellen eines ServiceBus-Namespace
Verwenden Sie im Azure-Portal die Suchleiste, um nach Service Bus zu suchen und auszuwählen.
Wählen Sie "Erstellen" aus, um einen Servicebusnamespace zu erstellen.
Geben Sie im Bereich "Namespace erstellen " die folgenden Informationen an:
Parameter Wert Subscription Wählen Sie dasselbe Abonnement aus, das Ihren IoT-Hub enthält. Ressourcengruppe Wählen Sie dieselbe Ressourcengruppe aus, die Ihren IoT-Hub enthält. Namespacename Geben Sie einen Namen für Ihren Servicebusnamespace an. Der Namespace muss in Azure eindeutig sein. Ort Wählen Sie denselben Speicherort aus, den Ihr IoT-Hub verwendet. Preisniveau Wählen Sie " Einfach " aus der Dropdownliste aus. Die Stufe "Einfach" reicht für dieses Lernprogramm aus. Klicken Sie auf Überprüfen + erstellen.
Wählen Sie "Erstellen" aus.
Warten Sie, bis die Bereitstellung abgeschlossen ist, und wählen Sie dann Zur Ressource wechseln aus.
Hinzufügen einer Servicebus-Warteschlange zum Namespace
Wählen Sie auf der Seite "Übersicht" des Service Bus-Namespace die Option "Warteschlange" aus.
Geben Sie im Feld "Name " einen Namen für die Warteschlange an. Übernehmen Sie die Standardwerte für die anderen Felder, und wählen Sie "Erstellen" aus.
Wählen Sie im Service Bus-Namespace im Abschnitt "Einstellungen" des Ressourcenmenüs "Freigegebene Zugriffsrichtlinien" aus.
Wählen Sie die RootManageSharedAccessKey-Richtlinie aus, um die Details zu öffnen.
Kopieren Sie den Wert der primären Verbindungszeichenfolge , und speichern Sie sie, um sie später in diesem Lernprogramm zu verwenden, wenn Sie die Logik-App konfigurieren.
Hinzufügen einer benutzerdefinierten Endpunkt- und Routingregel zu Ihrem IoT-Hub
Fügen Sie ihrem IoT-Hub einen benutzerdefinierten Endpunkt für die Servicebus-Warteschlange hinzu. Erstellen Sie dann eine Nachrichtenweiterleitungsregel, um Nachrichten zu leiten, die eine Temperaturwarnung für diesen Endpunkt enthalten, in der sie von Ihrer Logik-App aufgenommen werden. Die Routingregel verwendet eine Routingabfrage, temperatureAlert = "true", um Nachrichten basierend auf dem Wert der Anwendungseigenschaft temperatureAlert, die vom Clientcode auf dem Gerät festgelegt wurde, weiterzuleiten. Weitere Informationen finden Sie unter Nachrichtenweiterleitungsabfrage basierend auf Nachrichteneigenschaften.
Hinzufügen eines benutzerdefinierten Endpunkts und einer Route
Wechseln Sie im Azure-Portal zu Ihrem IoT-Hub.
Wählen Sie im Ressourcenmenü unter "Hubeinstellungen" die Option "Nachrichtenrouting " und dann "Hinzufügen" aus.
Erstellen Sie auf der Registerkarte "Endpunkt " einen Endpunkt für Ihre Servicebus-Warteschlange, indem Sie die folgenden Informationen angeben:
Parameter Wert Endpunkttyp Wählen Sie die Servicebuswarteschlange aus. Endpunktname Geben Sie einen Namen für den neuen Endpunkt an, der Ihrer Servicebus-Warteschlange zugeordnet ist. Service Bus-Namespace Verwenden Sie das Dropdownmenü, um den ServiceBus-Namespace auszuwählen, den Sie im vorherigen Abschnitt erstellt haben. Service Bus-Warteschlange Verwenden Sie das Dropdownmenü, um die ServiceBus-Warteschlange auszuwählen, die Sie in Ihrem Namespace erstellt haben.
Wählen Sie "Erstellen+ weiter" aus.
Geben Sie auf der Registerkarte " Route " die folgenden Informationen ein, um eine Route zu erstellen, die auf Ihren ServiceBus-Warteschlangenendpunkt verweist:
Parameter Wert Name Geben Sie einen eindeutigen Namen für die Route an. Datenquelle Behalten Sie die Standardmäßige Datenquelle für Gerätetelemetrienachrichten bei . Routingabfrage Geben Sie temperatureAlert = "true"als Abfragezeichenfolge ein.
Wählen Sie "Erstellen+ Überspringen von Anreicherungen" aus.
Konfigurieren von Logik-Apps für Benachrichtigungen
Im vorherigen Abschnitt richten Sie Ihren IoT-Hub ein, um Nachrichten mit einer Temperaturwarnung an Ihre Servicebus-Warteschlange weiterzuleiten. Jetzt richten Sie eine Logik-App ein, um die Servicebus-Warteschlange zu überwachen und eine E-Mail-Benachrichtigung zu senden, wenn eine Nachricht der Warteschlange hinzugefügt wird.
Erstellen einer Logik-App
Suchen Sie im Azure-Portal nach Logik-Apps, und wählen Sie sie aus.
Wählen Sie "Hinzufügen" aus, um eine neue Logik-App zu erstellen.
Geben Sie die folgenden Informationen auf der Registerkarte " Grundlagen " der Logik-App ein:
Parameter Wert Ressourcengruppe Wählen Sie dieselbe Ressourcengruppe aus, die Ihren IoT-Hub enthält. Name Geben Sie einen Namen für Ihre Logik-App an. Region Wählen Sie einen Standort in Ihrer Nähe aus. Plantyp Wählen Sie "Verbrauch" aus, der für dieses Lernprogramm ausreichend ist.
Klicken Sie auf Überprüfen + erstellen.
Wählen Sie "Erstellen" aus.
Nachdem die Bereitstellung abgeschlossen ist, wählen Sie "Zur Ressource wechseln " aus, um Ihre Logik-App zu öffnen.
Konfigurieren des Logik-App-Triggers
Öffnen Sie auf der Ressourcenseite ihrer Logik-App im Azure-Portal den Logik-App-Designer im Abschnitt "Entwicklungstools " des Ressourcenmenüs.
Scrollen Sie im Designer nach unten zu Vorlagen, und wählen Sie Leere Logik-App aus.
Wählen Sie die Registerkarte "Alle " aus, um alle Connectors und Trigger anzuzeigen, und wählen Sie dann "Service Bus" aus.
Wählen Sie unter "Trigger"die Option "Wenn eine oder mehrere Nachrichten in einer Warteschlange eingehen (automatisch abgeschlossen)" aus.
Erstellen Sie eine Servicebusverbindung.
Geben Sie einen Verbindungsnamen an, und fügen Sie dann die Verbindungszeichenfolge ein, die Sie aus Ihrem Service Bus-Namespace kopiert haben.
Wählen Sie "Erstellen" aus.
Verwenden Sie im nächsten Bildschirm das Dropdownmenü, um die Warteschlange auszuwählen, die Sie im Service Bus-Namespace erstellt haben. Geben Sie
175dann für die maximale Nachrichtenanzahl ein.
Wählen Sie im Menü "Logik-App-Designer speichern " aus, um Ihre Änderungen zu speichern.
Konfigurieren der Logik-App-Aktion
Wählen Sie " Neuer Schritt " im Logik-App-Designer aus.
Erstellen Sie eine SMTP-Dienstverbindung.
Suchen Sie nach SMTP und wählen Sie es aus.
Wählen Sie "E-Mail senden" (V3) als Aktion für diesen Schritt aus.
Geben Sie einen Verbindungsnamen an, und füllen Sie dann die restlichen Felder mit den SMTP-Informationen für das E-Mail-Konto aus, das Sie zum Senden der Benachrichtigungen verwenden möchten.
Verwenden Sie die folgenden Links, um Ihre SMTP-Informationen abhängig von Ihrem E-Mail-Anbieter zu finden:
Hinweis
Möglicherweise müssen Sie TLS/SSL deaktivieren, um die Verbindung herzustellen. Wenn dies der Fall ist und Sie TLS nach dem Herstellen der Verbindung erneut aktivieren möchten, lesen Sie den optionalen Schritt am Ende dieses Abschnitts.
Wählen Sie "Erstellen" aus.
Konfigurieren Sie die Aktion "E-Mail senden" .
Wählen Sie im Dropdownmenü "Neuen Parameter hinzufügen " im Schritt " E-Mail senden " die folgenden Parameter aus:
- From
- Zu
- Betreff
- Körper
Klicken oder tippen Sie auf eine beliebige Stelle auf dem Bildschirm, um das Auswahlfeld zu schließen.
Geben Sie die folgenden Informationen für die E-Mail-Parameter ein, die Sie im vorherigen Schritt ausgewählt haben:
Parameter Wert From Die E-Mail-Adresse, die Sie für die SMTP-Verbindung konfiguriert haben. Zu Die E-Mail-Adresse oder Adressen, an die Sie Benachrichtigungs-E-Mails senden möchten. Betreff High temperature detected.Körper High temperature detected.Wenn das Dialogfeld "Dynamische Inhalte hinzufügen " geöffnet wird, wählen Sie "Ausblenden" aus, um ihn zu schließen. In diesem Lernprogramm verwenden Sie keine dynamischen Inhalte.
Wählen Sie "Speichern" aus, um die SMTP-Verbindung zu speichern.
(Optional) Wenn Sie TLS deaktivieren mussten, um eine Verbindung mit Ihrem E-Mail-Anbieter herzustellen und sie erneut zu aktivieren, führen Sie die folgenden Schritte aus:
Wählen Sie im Bereich "Logik-App" unter "Entwicklungstools" API-Verbindungen aus.
Wählen Sie in der Liste der API-Verbindungen die SMTP-Verbindung aus.
Wählen Sie im Bereich smtp-API-Verbindung unter "Allgemein" die Option "API-Verbindung bearbeiten" aus.
Wählen Sie im Bereich "API-Verbindung bearbeiten" die Option "SSL aktivieren", geben Sie das Kennwort für Ihr E-Mail-Konto erneut ein, und wählen Sie "Speichern" aus.
Ihre Logik-App ist jetzt bereit, Temperaturwarnungen aus der Servicebus-Warteschlange zu verarbeiten und Benachrichtigungen an Ihr E-Mail-Konto zu senden.
Testen der Logik-App
Beginnen Sie mit dem Senden von Temperaturmeldungen von Ihrem IoT-Gerät, um die Überwachungs- und Benachrichtigungspipeline zu testen.
Starten Sie die Clientanwendung auf Ihrem Gerät. Der Client-Code gibt zufällig Telemetriemeldungen aus und setzt die Eigenschaft
temperatureAlertauftrue, wenn die Temperatur 30 °C überschreitet.Sie sollten mit dem Empfangen von E-Mail-Benachrichtigungen beginnen, die von der Logik-App gesendet werden.
Hinweis
Möglicherweise muss Ihr E-Mail-Dienstanbieter die Absenderidentität überprüfen, um sicherzustellen, dass Sie die E-Mail senden.
Bereinigen von Ressourcen
Wenn Sie die in diesem Lernprogramm erstellten Ressourcen nicht mehr benötigen, löschen Sie sie und die Ressourcengruppe im Portal. Wählen Sie dazu die Ressourcengruppe aus, die Ihren IoT-Hub enthält, und wählen Sie "Löschen" aus.
Alternativ können Sie die CLI verwenden:
# Delete your resource group and its contents
az group delete --name <RESOURCE_GROUP_NAME>
Nächste Schritte
In diesem Lernprogramm haben Sie eine Logik-App erstellt, die Ihren IoT-Hub und Ihr Postfach für die Temperaturüberwachung und Benachrichtigungen verbindet.
Weitere Informationen zu den ersten Schritten mit Azure IoT Hub und zur Erkundung aller erweiterten IoT-Szenarien finden Sie in den folgenden Themen:
Verwalten von Cloudgerätenachrichten mit der Azure IoT Hub-Erweiterung für Visual Studio Code
Verwalten von Geräten mit der Azure IoT Hub-Erweiterung für Visual Studio Code
Verwenden von Power BI zum Visualisieren von Echtzeitsensordaten aus Ihrem IoT-Hub
Verwenden einer Web-App zum Visualisieren von Echtzeitsensordaten aus Ihrem IoT-Hub
Verwenden von Logik-Apps für Remoteüberwachung und Benachrichtigungen