Azure Stream Analytics op IoT Edge

Azure Stream Analytics op IoT Edge is een lichtgewicht versie van Azure Stream Analytics die rechtstreeks op IoT Edge apparaten wordt uitgevoerd voor bijna realtime analyse van door het apparaat gegenereerde gegevens. Azure Stream Analytics op IoT Edge biedt lage latentie, tolerantie, efficiënt gebruik van bandbreedte en naleving van regelgeving. U kunt analyse- en controlelogica in de buurt van industriële bewerkingen implementeren terwijl u cloudgebaseerde Azure Stream Analytics gebruikt voor grootschalige gegevensverwerking.

Azure Stream Analytics in IoT Edge wordt uitgevoerd binnen het Azure IoT Edge-framework . Nadat u een Stream Analytics-taak hebt gemaakt in de Azure-portal, kunt u deze implementeren en beheren met behulp van IoT Hub.

Algemene scenario's voor Stream Analytics op IoT Edge

In het volgende diagram ziet u de gegevensstroom tussen IoT-apparaten en de Azure-cloud.

Diagram met de gegevensstroom tussen IoT-apparaten en de Azure cloud.

Opdracht en beheer met lage latentie

Veiligheidssystemen voor productie moeten reageren op operationele gegevens met een ultra lage latentie. Met Behulp van Stream Analytics op IoT Edge kunt u sensorgegevens in bijna realtime analyseren en opdrachten uitgeven wanneer u afwijkingen detecteert om een machine te stoppen of waarschuwingen te activeren.

Beperkte connectiviteit met de cloud

Bedrijfskritieke systemen, zoals externe mijnbouwapparatuur, verbonden schepen of offshore boren, moeten gegevens analyseren en erop reageren, zelfs wanneer de cloudconnectiviteit onregelmatig is. Door Stream Analytics te gebruiken, wordt uw streaminglogica onafhankelijk van de netwerkverbinding uitgevoerd en kunt u kiezen wat u naar de cloud verzendt voor verdere verwerking of opslag.

Beperkte bandbreedte

Het volume aan gegevens dat wordt geproduceerd door jetmotoren of verbonden auto's kan zo groot zijn dat u deze moet filteren of vooraf verwerken voordat u deze naar de cloud verzendt. Met Behulp van Stream Analytics kunt u de gegevens filteren of aggregeren die u naar de cloud wilt verzenden.

Naleving van regelgeving en lokale gegevensverwerking

Voor naleving van regelgeving moet u mogelijk bepaalde gegevens lokaal anoniem maken of aggregeren voordat u deze naar de cloud verzendt. Door Stream Analytics op IoT Edge te gebruiken, kunt u on-premises gevoelige gegevens verwerken en alleen compatibele, getransformeerde resultaten verzenden naar de cloud.

Edge-banen in Azure Stream Analytics

Stream Analytics-edge-taken zijn gecontaineriseerde Stream Analytics-workloads die zijn geïmplementeerd op Azure IoT Edge-apparaten. Edge-taken hebben twee delen:

  • Een cloudonderdeel dat de taakdefinitie beheert: u definieert invoer, uitvoer, query en andere instellingen, zoals gebeurtenissen die niet op volgorde binnenkomen, in de cloud.

  • Een module die wordt uitgevoerd op uw IoT-apparaten. De module bevat de Stream Analytics-engine en ontvangt de taakdefinitie van de cloud.

Stream Analytics maakt gebruik van IoT Hub voor het implementeren van edge-taken op apparaten. Zie IoT Edge-implementatie voor meer informatie.

Diagram met de onderdelen van een Azure Stream Analytics edge-taak.

Beperkingen voor Edge-taken

Stream Analytics Edge-taken zijn gericht op pariteit tussen edge- en cloudimplementaties. Een cloudtaak is een standaardtaak Azure Stream Analytics die wordt uitgevoerd in Azure, terwijl een randtaak lokaal wordt uitgevoerd op een IoT Edge apparaat. Stream Analytics biedt ondersteuning voor de meeste sql-querytaalfuncties voor zowel edge als cloud. Edge-taken bieden echter geen ondersteuning voor de volgende functies:

  • Door de gebruiker gedefinieerde functies (UDF) in JavaScript. UDF's zijn beschikbaar in C# voor IoT Edge taken (preview).
  • Door de gebruiker gedefinieerde aggregaties (UDA).
  • Azure Machine Learning functies.
  • AVRO-indeling voor invoer/uitvoer. Edge-taken ondersteunen alleen CSV- en JSON-indelingen.
  • De volgende SQL-operators:
    • PARTITION BY
    • GetMetadataPropertyValue
  • Beleid voor late aankomst

Runtime- en hardware-vereisten

Als u Stream Analytics wilt uitvoeren op IoT Edge, hebt u apparaten nodig waarop Azure IoT Edge wordt uitgevoerd.

Stream Analytics en Azure IoT Edge maken gebruik van Docker-containers om een draagbare oplossing te bieden die wordt uitgevoerd op meerdere hostbesturingssystemen (Windows, Linux).

Stream Analytics op IoT Edge wordt uitgevoerd in de vorm van Linux-images op x86-64- en ARM-architecturen.

Invoer en uitvoer voor Edge-taken van Stream Analytics

Stream Analytics Edge-taken krijgen invoer en uitvoer van andere modules die worden uitgevoerd op IoT Edge apparaten. Als u verbinding wilt maken van en naar specifieke modules, stelt u de routeringsconfiguratie in tijdens de implementatie. Zie de documentatie IoT Edge modulesamenstelling voor meer informatie.

Zowel invoer- als uitvoer ondersteunen CSV- en JSON-indelingen.

Voor elke invoer- en uitvoerstroom die u in uw Stream Analytics-taak maakt, maakt Stream Analytics een bijbehorend eindpunt op uw geïmplementeerde module. Gebruik deze eindpunten in de routes van uw implementatie.

Ondersteunde stroominvoertypen zijn:

  • Edge Hub
  • Evenement Hub
  • IoT Hub

Ondersteunde stroomuitvoertypen zijn:

  • Edge Hub
  • SQL Databank
  • Evenement Hub
  • Blob Storage/Azure Data Lake Storage Gen2

Verwijzingsinvoer ondersteunt het referentiebestandstype, dat statische of langzaam veranderende gegevens biedt voor zoekacties. Als u gegevens naar andere uitvoerbestemmingen wilt sturen, koppelt u downstream een in de cloud gehoste Stream Analytics-taak. Een Stream Analytics-taak die wordt gehost op IoT Edge verzendt bijvoorbeeld uitvoer naar Edge Hub, die vervolgens uitvoer naar IoT Hub kan verzenden. Gebruik een tweede in de cloud gehoste Azure Stream Analytics-taak met invoer van IoT Hub en uitvoer naar Power BI of een ander uitvoertype.

Afbeeldingsgegevens van de Azure Stream Analytics-module

In de volgende tabel worden de beschikbare Stream Analytics in IoT Edge-module-installatiekopieën vermeld. Deze versie-informatie is voor het laatst bijgewerkt op 2020-09-21. Controleer de Microsoft Container Registry voor de nieuwste beschikbare versies.

Afbeelding Basisafbeelding Architectuur 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 armoedig 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

De basisafbeeldingen in deze tabel gebruiken .NET Core 2.1 en 3.0, die het einde van de levensduur hebben bereikt. Controleer de Microsoft Container Registry voor bijgewerkte Stream Analytics op IoT Edge installatiekopieën die zijn gebouwd op ondersteunde .NET versies.