Freigeben über


Lernprogramm: Bereitstellen von Azure Stream Analytics als IoT Edge Modul

Gilt für:IoT Edge 1,5 Häkchen IoT Edge 1,5

Wichtig

IoT Edge 1.5 LTS ist die unterstützte Version. IoT Edge 1.4 LTS erreichte am 12. November 2024 das Ende des Lebens. Wenn Sie eine frühere Version verwenden, lesen Sie Update IoT Edge.

In diesem Lernprogramm erstellen Sie einen Azure Stream Analytics Auftrag im Azure Portal und stellen ihn als IoT Edge Modul ohne zusätzlichen Code bereit.

In diesem Tutorial lernen Sie Folgendes:

  • Erstellen Sie einen Azure Stream Analytics Job, um Daten am Edge zu verarbeiten.
  • Verbinden Sie den neuen Azure Stream Analytics Auftrag mit anderen IoT Edge Modulen.
  • Stellen Sie den Azure Stream Analytics Auftrag über das Azure-Portal auf einem IoT Edge Gerät bereit.

Diagramm mit Streamarchitektur, einschließlich Staging und Bereitstellen eines Azure Stream Analytics job.

Das Stream Analytics-Modul in diesem Tutorial berechnet die Durchschnittstemperatur der letzten 30 Sekunden. Wenn der Mittelwert 70 erreicht, sendet das Modul eine Warnung für das Gerät, um Maßnahmen zu ergreifen. In diesem Fall besteht die Aktion darin, den simulierten Temperatursensor zurückzusetzen. In einer Produktionsumgebung können Sie diese Funktionalität verwenden, um eine Maschine abzuschalten oder präventive Maßnahmen zu ergreifen, wenn die Temperatur gefährliche Werte erreicht.

Warum Azure Stream Analytics in IoT Edge verwenden?

Viele IoT-Lösungen verwenden Analysedienste, um Erkenntnisse zu Daten zu gewinnen, die von IoT-Geräten an die Cloud übermittelt werden. Mithilfe von Azure IoT Edge verschieben Sie Azure Stream Analyticslogik auf das Gerät selbst. Die Verarbeitung von Telemetriedatenströmen am Rand reduziert die Menge der hochgeladenen Daten und die Zeit, die zum Reagieren auf umsetzbare Erkenntnisse benötigt wird. Azure IoT Edge und Azure Stream Analytics integrieren sich, um die Entwicklung von Workloads zu vereinfachen.

Azure Stream Analytics verwendet eine strukturierte Abfragesyntax für die Datenanalyse in der Cloud und auf IoT Edge Geräten. Weitere Informationen finden Sie in Azure Stream Analytics Documentation.

Voraussetzungen

Wenn Sie kein Azure Konto haben, erstellen Sie ein free-Konto bevor Sie beginnen.

  • Ein Azure IoT Edge Gerät.

    Verwenden Sie einen Azure virtuellen Computer als IoT Edge Gerät, indem Sie die Schritte in der Schnellstartanleitung für Linux oder Windows Geräte ausführen.

  • Eine kostenlose oder standardstufige IoT Hub in Azure.

Einen Azure Stream Analytics-Auftrag erstellen

In diesem Abschnitt erstellen Sie einen Azure Stream Analytics Auftrag, der:

  • Empfängt Daten von Ihrem IoT Edge Gerät.
  • Fragt die Telemetriedaten nach Werten außerhalb eines festgelegten Bereichs ab.
  • Führt Aktionen auf dem IoT Edge Gerät basierend auf den Abfrageergebnissen aus.

Speicherkonto erstellen

Wenn Sie einen Azure Stream Analytics Auftrag erstellen, der auf einem IoT Edge Gerät ausgeführt werden soll, müssen Sie ihn speichern, damit das Gerät darauf zugreifen kann. Sie können ein vorhandenes Azure Storage-Konto verwenden oder ein neues Konto erstellen.

  1. Wechseln Sie im Azure-Portal zu Erstellen einer Ressource > Storage > Speicherkonto.

  2. Geben Sie die folgenden Werte an, um Ihr Speicherkonto zu erstellen:

    Feld Wert
    Abonnement Wählen Sie das gleiche Abonnement wie für Ihren IoT Hub.
    Ressourcengruppe Verwenden Sie dieselbe Ressourcengruppe für alle Testressourcen für die IoT Edge Schnellstarts und Lernprogramme. Beispiel: IoTEdgeResources.
    Name Geben Sie einen eindeutigen Namen für Ihr Speicherkonto an.
    Standort Wählen Sie einen Standort in Ihrer Nähe aus.
  3. Behalten Sie die Standardwerte für die anderen Felder bei, und wählen Sie "Überprüfen+ Erstellen" aus.

  4. Überprüfen Sie Ihre Einstellungen, und wählen Sie dann "Erstellen" aus.

Erstellen eines neuen Auftrags

  1. Wählen Sie im portal Azure Folgendes aus:

    1. Erstellen einer Ressource
    2. Internet der Dinge im Menü auf der linken Seite
    3. Geben Sie Stream Analytics in die Suchleiste ein, um sie in Azure Marketplace
    4. Wählen Sie Erstellen und dann im Dropdownmenü Stream Analytics-Auftrag aus.
  2. Geben Sie die folgenden Werte an, um Ihren neuen Stream Analytics-Auftrag zu erstellen:

    Feld Wert
    Name Geben Sie einen Namen für Ihren Auftrag an. Beispielsweise IoTEdgeJob
    Abonnement Wählen Sie das gleiche Abonnement wie für Ihren IoT Hub.
    Ressourcengruppe Verwenden Sie dieselbe Ressourcengruppe für alle Testressourcen, die Sie während der IoT Edge Schnellstarts und Lernprogramme erstellen. Beispiel: eine Ressource mit dem Namen IoTEdgeResources
    Region Wählen Sie einen Standort in Ihrer Nähe aus.
    Hosting-Umgebung Wählen Sie Edge aus. Mit dieser Option können Sie anstelle der Cloud auf einem IoT Edge Gerät bereitstellen.
  3. Klicken Sie auf Überprüfen + erstellen.

  4. Bestätigen Sie Ihre Optionen, und wählen Sie dann Erstellen aus.

Konfigurieren des Auftrags

Nachdem Sie Ihren Stream Analytics-Auftrag im Azure-Portal erstellt haben, konfigurieren Sie ihn mit einer input, einem output und einer query für die daten, die durchlaufen werden.

In diesem Abschnitt wird gezeigt, wie Sie einen Auftrag erstellen, der Temperaturdaten von einem IoT Edge Gerät empfängt. Sie analysiert die Daten in einem rollierenden 30-Sekunden-Fenster. Wenn die durchschnittliche Temperatur in diesem Fenster über 70 Grad Celsius übersteigt, sendet der Job einen Alarm an das IoT-Edge-Gerät.

Hinweis

Sie geben an, woher die Daten kommen und wohin sie gehen, im nächsten Abschnitt, IoT Edge Einstellungen konfigurieren, wenn Sie den Auftrag bereitstellen.

Festlegen von Eingabe und Ausgabe

  1. Navigieren Sie im Azure Portal zu Ihrem Stream Analytics-Auftrag.

  2. Wählen Sie unter "Auftragstopologie" die Option "Eingaben" und dann "Eingabe hinzufügen" aus.

  3. Wählen Sie edge Hub aus der Dropdownliste aus.

    Wenn die Edge Hub-Option in der Liste nicht angezeigt wird, haben Sie möglicherweise Ihren Stream Analytics-Auftrag als in der Cloud gehosteten Auftrag erstellt. Versuchen Sie, einen neuen Auftrag zu erstellen, und stellen Sie sicher, dass Sie Edge als Hostumgebung auswählen.

  4. Geben Sie im Bereich Neue Eingabe die Temperatur als Eingabealias ein.

  5. Behalten Sie in den restlichen Feldern die Standardwerte bei, und wählen Sie Speichern.

  6. Wählen Sie unter Auftragstopologie den Eintrag Ausgaben, dann Hinzufügen aus.

  7. Wählen Sie in der Dropdownliste die Option Edge-Hub aus.

  8. Geben Sie im Bereich Neue Ausgabe die Warnung als Ausgabealias ein.

  9. Behalten Sie in den restlichen Feldern die Standardwerte bei, und wählen Sie Speichern.

Erstellen einer Abfrage

  1. Wählen Sie unter Auftragstopologie die Option Abfrage aus.

  2. Ersetzen Sie den Standardtext durch die folgende Abfrage:

    SELECT  
        'reset' AS command
    INTO
       alert
    FROM
       temperature TIMESTAMP BY timeCreated
    GROUP BY TumblingWindow(second,30)
    HAVING Avg(machine.temperature) > 70
    

    In dieser Abfrage sendet der SQL-Code einen Zurücksetzungsbefehl an die Warnungsausgabe, wenn die durchschnittliche Maschinentemperatur in einem 30-sekündigen Fenster 70 Grad erreicht. Der Zurücksetzungsbefehl ist als Aktion in den Sensor vorprogrammiert.

  3. Wählen Sie Abfrage speichern aus.

Konfigurieren IoT Edge Einstellungen

Um Ihren Stream Analytics-Auftrag auf einem IoT Edge Gerät bereitzustellen, ordnen Sie Ihren Azure Stream Analytics Auftrag einem Speicherkonto zu. Wenn Sie Ihren Auftrag bereitstellen, exportiert die Auftragsdefinition als Container in das Speicherkonto.

  1. Wählen Sie in Ihrem Stream Analytics-Dienst unter dem Menü "Einstellungen " die Option "Speicherkontoeinstellungen" aus.

  2. Wählen Sie die Option Blobspeicher/ADLS Gen 2 aus Ihren Abonnements auswählen aus.

  3. Ihr Azure Speicherkonto wird automatisch auf der Seite angezeigt. Wird es nicht angezeigt, müssen Sie einen Speicher erstellen. Wenn Sie einen anderen Speicher als den im Feld " Speicherkonto " aufgeführten Speicher auswählen müssen, wählen Sie ihn im Dropdownmenü aus.

  4. Wählen Sie "Speichern" aus, wenn Sie Änderungen vorgenommen haben.

Bereitstellen des Auftrags

Sie können jetzt die Azure Stream Analytics Aufgabe auf Ihrem IoT Edge Gerät deployen.

In diesem Abschnitt verwenden Sie den Assistenten Set modules im Azure Portal, um ein Deployment manifest zu erstellen. Ein Bereitstellungsmanifest ist eine JSON-Datei mit Beschreibungen für alle Module, die auf einem Gerät bereitgestellt werden. Das Manifest enthält außerdem die Containerregistrierungen, welche die Modulimages speichern, die Verwaltung der Module und die Kommunikationsmöglichkeiten für die Module untereinander. Ihr IoT Edge Gerät ruft sein Bereitstellungsmanifest aus IoT Hub ab und verwendet dann die darin aufgeführten Informationen, um alle zugewiesenen Module bereitzustellen und zu konfigurieren.

In diesem Tutorial stellen Sie zwei Module bereit. Das erste ist das Modul SimulatedTemperatureSensor, das einen Sensor für Temperatur und Luftfeuchtigkeit simuliert. Das zweite ist Ihr Stream Analytics-Auftrag. Das Sensormodul stellt den Datenstrom bereit, der von Ihrer Auftragsabfrage analysiert wird.

  1. Navigieren Sie im Azure-Portal zu Ihrem IoT-Hub.

  2. Wählen Sie Devices unter dem Menü Device Management aus, und wählen Sie dann Ihr IoT Edge Gerät aus, um es zu öffnen.

  3. Wählen Sie Module festlegen aus.

  4. Wenn Sie zuvor das SimulatedTemperatureSensor-Modul auf diesem Gerät bereitgestellt haben, wird es unter Umständen automatisch aufgefüllt. Führen Sie andernfalls die folgenden Schritte aus, um das Modul hinzuzufügen:

    1. Wählen Sie + Hinzufügen aus, und wählen Sie IoT Edge Modul aus.
    2. Geben Sie SimulatedTemperatureSensor als Name ein.
    3. Geben Sie als Bild-URI mcr.microsoft.com/azureiotedge-simulated-temperature-sensor:1.5 ein.
    4. Lassen Sie die restlichen Standardeinstellungen unverändert, und wählen Sie Hinzufügen aus.
  5. Fügen Sie Ihren Azure Stream Analytics Edgeauftrag mit den folgenden Schritten hinzu:

    1. Wählen Sie + Hinzufügen aus, und wählen Sie Azure Stream Analytics Modul aus.
    2. Wählen Sie Ihr Abonnement und den von Ihnen erstellten Azure Stream Analytics Edgeauftrag aus.
    3. Wählen Sie Speichern aus.

    Nach dem Speichern Ihrer Änderungen werden die Details Ihres Stream Analytics-Auftrags in dem von Ihnen erstellten Speichercontainer veröffentlicht.

  6. Nachdem die Stream Analytics-Ergänzung bereitgestellt wurde, vergewissern Sie sich, dass auf der Seite Module festlegen zwei neue Module angezeigt werden.

    Screenshot: Bestätigung, dass zwei neue Module auf Ihrem Gerät vorhanden sind. Auf dem Screenshot ist zudem die Position der Schaltfläche „Überprüfen + erstellen“ gezeigt.

  7. Klicken Sie auf Überprüfen + erstellen. Das Bereitstellungsmanifest wird angezeigt.

  8. Wählen Sie "Erstellen" aus.

  9. Auf der Seite Module festlegen Ihres Geräts sollten nach einigen Minuten die Module aufgelistet und ausgeführt werden. Aktualisieren Sie die Seite, wenn keine Module angezeigt werden, oder warten Sie einige Minuten, und aktualisieren Sie sie dann erneut.

Grundlegendes zu den beiden neuen Modulen

  1. Wählen Sie auf der Registerkarte Set-Module Ihres Geräts Ihren Stream Analytics-Modulnamen aus, um Sie zur Seite Update IoT Edge Modul zu bringen. Hier können Sie die Einstellungen aktualisieren.

    Die Registerkarte Settings verfügt über den Image-URI, der auf ein Standardbild Azure Stream Analytics verweist. Dieses einzelne Image wird für jedes Stream Analytics-Modul verwendet, das auf einem IoT Edge Gerät bereitgestellt wird.

    Auf der Registerkarte Module Twin Settings wird der JSON-Code angezeigt, der die Azure Stream Analytics-Eigenschaft (ASA) definiert, die ASAJobInfo. Der Wert dieser Eigenschaft verweist auf die Auftragsdefinition in Ihrem Speichercontainer. Mithilfe dieser Eigenschaft wird das Stream Analytics-Image mit Ihren individuellen Auftragsdetails konfiguriert.

    Das Stream Analytics-Modul hat standardmäßig den gleichen Namen wie der Auftrag, auf dem es basiert. Der Modulname kann bei Bedarf auf dieser Seite geändert werden, dies ist jedoch nicht erforderlich.

  2. Wählen Sie Anwenden aus, wenn Sie Änderungen vorgenommen haben, oder Abbrechen, wenn Sie keine Änderungen vorgenommen haben.

Zuweisen von Routen zu Ihren Modulen

  1. Wählen Sie auf der Seite Module für Gerät festlegen:<Ihr Gerätename> die Option Weiter: Routen aus.

  2. Auf der Registerkarte Routes definieren Sie, wie Nachrichten zwischen Modulen und dem IoT Hub übergeben werden. Nachrichten werden mit Name-Wert-Paaren erstellt.

    Fügen Sie die Routennamen und -werte mit den in der folgenden Tabelle gezeigten Paaren hinzu. Ersetzen Sie Instanzen von {moduleName} durch den Namen Ihres Azure Stream Analytics Moduls. Dieses Modul sollte den gleichen Namen haben, den Sie in der Modulliste Ihres Geräts auf der Seite Setmodule sehen, wie im Azure-Portal dargestellt.

    Screenshot mit dem Namen Ihrer Stream Analytics-Module in Ihrem IoT Edge Gerät im Azure portal.

    Name Wert
    TelemetrieInDieCloud FROM /messages/modules/SimulatedTemperatureSensor/* INTO $upstream
    alertsToCloud FROM /messages/modules/{moduleName}/* INTO $upstream
    alertsToReset FROM /messages/modules/{moduleName}/* INTO BrokeredEndpoint("/modules/SimulatedTemperatureSensor/inputs/control")
    telemetryToAsa FROM /messages/modules/SimulatedTemperatureSensor/* INTO BrokeredEndpoint("/modules/{moduleName}/inputs/temperature")

    Die hier deklarierten Routen definieren den Datenfluss über das IoT Edge Gerät. Die Telemetriedaten von SimulatedTemperatureSensor werden an IoT Hub und an die temperatureeingabe gesendet, die im Stream Analytics-Auftrag konfiguriert wurde. Die ausgabemeldungen alert werden an IoT Hub und an das SimulatedTemperatureSensor-Modul gesendet, um den Zurücksetzungsbefehl auszulösen.

  3. Wählen Sie "Weiter" aus: Überprüfen + Erstellen.

  4. Auf der Registerkarte Überprüfen + erstellen sehen Sie, wie die im Assistenten angegebenen Informationen in ein JSON-Bereitstellungsmanifest konvertiert werden.

  5. Wenn Sie mit der Überprüfung des Manifests fertig sind, wählen Sie Erstellen aus, um die Einstellung Ihres Moduls abzuschließen.

Anzeigen von Daten

Wechseln Sie zu Ihrem IoT Edge Gerät, um die Interaktion zwischen dem Azure Stream Analytics-Modul und dem SimulatedTemperatureSensor-Modul anzuzeigen.

Hinweis

Wenn Sie einen virtuellen Computer für ein Gerät verwenden, verwenden Sie die Azure Cloud Shell, um direkt auf alle Azure authentifizierten Dienste zuzugreifen.

  1. Überprüfen Sie, ob alle Module in Docker ausgeführt werden:

    iotedge list  
    
  2. Zeigen Sie alle Systemprotokolle und Metrikdaten an. Ersetzen Sie {moduleName} durch den Namen Ihres Azure Stream Analytics Moduls:

    iotedge logs -f {moduleName}  
    
  3. Sehen Sie sich anhand der Sensorprotokolle an, wie sich der Zurücksetzungsbefehl auf das SimulatedTemperatureSensor-Modul auswirkt:

    iotedge logs SimulatedTemperatureSensor
    

    Sie können beobachten, wie die Temperatur des Computers allmählich steigt, bis sie 30 Sekunden lang 70 Grad beträgt. Dann löst das Stream Analytics-Modul eine Zurücksetzung aus, und die Computertemperatur fällt zurück auf 21.

    Screenshot des Befehls

Bereinigen von Ressourcen

Wenn Sie mit dem nächsten empfohlenen Artikel fortfahren möchten, behalten Sie die von Ihnen erstellten Ressourcen und Konfigurationen bei, und verwenden Sie sie wieder. Sie können auch dasselbe IoT Edge Gerät wie ein Testgerät verwenden.

Löschen Sie andernfalls die lokalen Konfigurationen und Azure Ressourcen, die Sie in diesem Artikel verwendet haben, um Gebühren zu vermeiden.

Löschen Azure Ressourcen

Sie können das Löschen Azure Ressourcen und Ressourcengruppen nicht rückgängigmachen. Achten Sie daher darauf, dass Sie nicht versehentlich die falsche Ressourcengruppe oder die falschen Ressourcen löschen. Wenn Sie die IoT Hub in einer vorhandenen Ressourcengruppe erstellt haben, die Ressourcen enthält, die Sie behalten möchten, löschen Sie nur die IoT Hub Ressource selbst, nicht die Ressourcengruppe.

So löschen Sie die Ressourcen:

  1. Melden Sie sich beim portal Azure an, und wählen Sie dann Resource groups aus.
  2. Wählen Sie den Namen der Ressourcengruppe aus, die Ihre IoT Edge Testressourcen enthält.
  3. Überprüfen Sie die Liste der Ressourcen, die Ihre Ressourcengruppe enthält. Wenn Sie alle löschen möchten, können Sie " Ressourcengruppe löschen" auswählen. Wenn Sie nur einige davon löschen möchten, wählen Sie jede Ressource aus, um sie einzeln zu löschen.

Nächste Schritte

In diesem Lernprogramm richten Sie einen Azure Stream Analytics Auftrag ein, um Daten von Ihrem IoT Edge Gerät zu analysieren. Sie haben das modul Azure Stream Analytics auf Ihrem IoT Edge Gerät geladen, um temperatursteigerungen lokal zu verarbeiten und zu reagieren und den aggregierten Datenstrom an die Cloud zu senden. Wenn Sie erfahren möchten, wie Azure IoT Edge Ihnen beim Erstellen weiterer Lösungen helfen können, fahren Sie mit dem nächsten Lernprogramm fort.