Azure Stream Analytics auf IoT Edge

Azure Stream Analytics auf IoT Edge ist eine einfache Version von Azure Stream Analytics, die direkt auf IoT Edge Geräten ausgeführt wird, um nahezu Echtzeitanalysen auf gerätegenerierten Daten zu ermöglichen. Azure Stream Analytics für IoT Edge bietet geringe Latenz, Resilienz, effiziente Bandbreitennutzung und einhaltung gesetzlicher Vorschriften. Sie können Analyse- und Steuerungslogik in der Nähe von Industrievorgängen bereitstellen, während Sie cloudbasierte Azure Stream Analytics für die verarbeitung großer Datenmengen verwenden.

Azure Stream Analytics auf IoT Edge wird im Azure IoT Edge-Framework ausgeführt. Nachdem Sie einen Stream Analytics-Auftrag im Azure-Portal erstellt haben, können Sie ihn mithilfe von IoT Hub bereitstellen und verwalten.

Häufige Szenarien für Stream Analytics auf IoT Edge

Das folgende Diagramm zeigt den Datenfluss zwischen IoT-Geräten und der Azure-Cloud.

Diagramm, das den Datenfluss zwischen IoT-Geräten und der Azure-Cloud zeigt.

Befehl und Steuerung mit geringer Latenz

Fertigungssicherheitssysteme müssen auf Betriebsdaten mit extrem geringer Latenz reagieren. Mithilfe von Stream Analytics auf IoT Edge können Sie Sensordaten in nahezu Echtzeit analysieren und Befehle ausgeben, wenn Sie Anomalien erkennen, um einen Computer zu stoppen oder Warnungen auszulösen.

Eingeschränkte Konnektivität mit der Cloud

Missionskritische Systeme, wie zum Beispiel ferngesteuerte Bergbaugeräte, vernetzte Schiffe oder Offshore-Bohrungen, müssen Daten analysieren und darauf reagieren, selbst wenn die Cloud-Konnektivität unterbrochen ist. Mithilfe von Stream Analytics wird Ihre Streaminglogik unabhängig von der Netzwerkkonnektivität ausgeführt, und Sie können auswählen, was Sie zur weiteren Verarbeitung oder Speicherung an die Cloud senden.

Begrenzte Bandbreite

Die Menge an Daten, die von Jet-Motoren oder verbundenen Autos erzeugt werden, kann so groß sein, dass Sie sie filtern oder vorverarbeitet haben, bevor Sie sie an die Cloud senden. Mithilfe von Stream Analytics können Sie die Daten filtern oder aggregieren, die Sie an die Cloud senden müssen.

Einhaltung gesetzlicher Vorschriften und lokaler Datenverarbeitung

Die Einhaltung gesetzlicher Vorschriften erfordert möglicherweise, dass Sie einige Daten lokal anonymisiert oder aggregieren, bevor Sie sie an die Cloud senden. Mithilfe von Stream Analytics auf IoT Edge können Sie vertrauliche Daten lokal verarbeiten und nur kompatible, transformierte Ergebnisse an die Cloud senden.

Edge-Aufträge in Azure Stream Analytics

Stream Analytics-Edgeaufträge sind containerisierte Stream Analytics-Workloads, die auf Azure IoT Edge-Geräten bereitgestellt werden. Edgeaufträge haben zwei Teile:

  • Ein Cloudteil, der die Auftragsdefinition behandelt: Sie definieren Eingaben, Ausgabe, Abfrage und andere Einstellungen, z. B. Out-of-Order-Ereignisse, in der Cloud.

  • Ein Modul, das auf Ihren IoT-Geräten ausgeführt wird. Das Modul enthält das Stream Analytics-Modul und empfängt die Auftragsdefinition aus der Cloud.

Stream Analytics verwendet IoT Hub, um Edge-Jobs auf Geräten bereitzustellen. Weitere Informationen finden Sie in der IoT Edge-Bereitstellung.

Diagramm, das die Komponenten eines Azure Stream Analytics Edge-Auftrags zeigt.

Einschränkungen für Edgeaufträge

Stream Analytics-Edgeaufträge zielen auf die Parität zwischen Edge- und Cloudbereitstellungen ab. Ein Cloudauftrag ist ein standardmäßiger Azure Stream Analytics-Auftrag, der in Azure ausgeführt wird, während ein Edgeauftrag lokal auf einem IoT Edge-Gerät ausgeführt wird. Stream Analytics unterstützt die meisten SQL-Abfragesprachenfeatures sowohl für Edge als auch für die Cloud. Edgeaufträge unterstützen jedoch nicht die folgenden Features:

  • Benutzerdefinierte Funktionen (UDF) in JavaScript. UDFs sind in C# für IoT Edge Aufträge verfügbar (Vorschau).
  • Benutzerdefinierte Aggregate (UDA).
  • Azure Machine Learning Funktionen.
  • AVRO-Format für Eingabe/Ausgabe. Edgeaufträge unterstützen nur CSV- und JSON-Formate.
  • Die folgenden SQL-Operatoren:
    • PARTITION BY
    • GetMetadataPropertyValue
  • Verspätete Ankunftsrichtlinie

Laufzeit- und Hardwareanforderungen

Um Stream Analytics auf IoT Edge auszuführen, benötigen Sie Geräte, die Azure IoT Edge ausführen.

Stream Analytics und Azure IoT Edge verwenden Docker-Container , um eine tragbare Lösung bereitzustellen, die auf mehreren Hostbetriebssystemen (Windows, Linux) ausgeführt wird.

Stream Analytics auf IoT Edge wird als Linux-Images auf x86-64- und ARM-Architekturen ausgeführt.

Eingaben und Ausgaben für Stream Analytics-Edgeaufträge

Stream Analytics-Edgeaufträge erhalten Eingaben und Ausgaben aus anderen Modulen, die auf IoT Edge Geräten ausgeführt werden. Um eine Verbindung von und zu bestimmten Modulen herzustellen, legen Sie die Routingkonfiguration zur Bereitstellungszeit fest. Weitere Informationen finden Sie unter The IoT Edge module composition documentation.

Sowohl Eingaben als auch Ausgaben unterstützen CSV- und JSON-Formate.

Für jeden Eingabe- und Ausgabedatenstrom, den Sie in Ihrem Stream Analytics-Auftrag erstellen, erstellt Stream Analytics einen entsprechenden Endpunkt in Ihrem bereitgestellten Modul. Verwenden Sie diese Endpunkte in den Routen Ihres Deployments.

Unterstützte Datenstromeingabetypen sind:

  • Edge-Hub
  • Ereignis-Hub
  • IoT Hub

Unterstützte Streamausgabetypen sind:

  • Edge-Hub
  • SQL-Datenbank
  • Ereignis-Hub
  • Blob Storage/Azure Data Lake Storage Gen2

Die Referenzeingabe unterstützt den Referenzdateityp, der statische oder langsam ändernde Daten für Nachschlagevorgänge bereitstellt. Um Daten an andere Ausgabeziele weiterzuleiten, schalten Sie nachgelagert einen cloudgehosteten Stream Analytics-Auftrag ein. Beispielsweise sendet ein auf IoT Edge gehosteter Stream Analytics-Auftrag die Ausgabe an Edge Hub, das diese dann an IoT Hub senden kann. Verwenden Sie einen zweiten in der Cloud gehosteten Azure Stream Analytics-Job mit Eingabe aus dem IoT Hub und Ausgabe an Power BI oder einen anderen Ausgabetyp.

Bildinformationen zum Azure Stream Analytics-Modul

In der folgenden Tabelle sind die verfügbaren Stream Analytics in IoT Edge Modulbildern aufgeführt. Diese Versionsinformationen wurden am 2020-09-21 zuletzt aktualisiert. Überprüfen Sie die Microsoft Containerregistrierung auf die neuesten verfügbaren Versionen.

Bild Basisbild Aufbau OS
mcr.microsoft.com/azure-stream-analytics/azureiotedge:1.0.9-linux-amd64 mcr.microsoft.com/dotnet/core/runtime:2.1.13-alpine amd64 Linux
mcr.microsoft.com/azure-stream-analytics/azureiotedge:1.0.9-linux-arm32v7 mcr.microsoft.com/dotnet/core/runtime:2.1.13-bionic-arm32v7 Armen Linux
mcr.microsoft.com/azure-stream-analytics/azureiotedge:1.0.9-linux-arm64 mcr.microsoft.com/dotnet/core/runtime:3.0-bionic-arm64v8 arm64 Linux

Important

Die in dieser Tabelle aufgeführten Basisbilder verwenden .NET Core 2.1 und 3.0, die das Ende der Lebensdauer erreicht haben. Überprüfen Sie die Microsoft Container Registry auf aktualisierte Images für Stream Analytics auf IoT Edge, die auf unterstützten .NET-Versionen basieren.