Azure Stream Analytics på IoT Edge

Azure Stream Analytics på IoT Edge är en enkel version av Azure Stream Analytics som körs direkt på IoT Edge enheter för analys i nästan realtid på enhetsgenererade data. Azure Stream Analytics på IoT Edge ger låg svarstid, återhämtning, effektiv användning av bandbredd och regelefterlevnad. Du kan distribuera analys- och kontrolllogik nära industriell drift samtidigt som du använder molnbaserade Azure Stream Analytics för storskalig databearbetning.

Azure Stream Analytics på IoT Edge körs inom Azure IoT Edge-ramverket . När du har skapat ett Stream Analytics-jobb i Azure portalen kan du distribuera och hantera det med hjälp av IoT Hub.

Vanliga scenarier för Stream Analytics på IoT Edge

Följande diagram visar dataflödet mellan IoT-enheter och Azure-molnet.

Diagram som visar dataflödet mellan IoT-enheter och Azure cloud.

Kommando och kontroll med låg svarstid

Tillverkningssäkerhetssystem måste svara på driftdata med extremt låg svarstid. Genom att använda Stream Analytics på IoT Edge kan du analysera sensordata nästan i realtid och utfärda kommandon när du identifierar avvikelser för att stoppa en dator eller utlösa aviseringar.

Begränsad anslutning till molnet

Verksamhetskritiska system, till exempel fjärrutvinningsutrustning, anslutna fartyg eller offshore-borrning, måste analysera och reagera på data även när molnanslutningen är tillfällig. Med Stream Analytics körs din strömningslogik oberoende av nätverksanslutningen och du kan välja vad du skickar till molnet för vidare bearbetning eller lagring.

Begränsad bandbredd

Mängden data som produceras av jetmotorer eller anslutna bilar kan vara så stor att du måste filtrera eller förbearbeta den innan du skickar den till molnet. Genom att använda Stream Analytics kan du filtrera eller aggregera de data som du behöver skicka till molnet.

Regelefterlevnad och lokal databehandling

Regelefterlevnad kan kräva att du anonymiserar eller aggregerar vissa data lokalt innan du skickar dem till molnet. Genom att använda Stream Analytics på IoT Edge kan du bearbeta känsliga data lokalt och endast skicka kompatibla, omvandlade resultat till molnet.

Edge-jobb i Azure Stream Analytics

Stream Analytics-gränsenhetsjobb är containerbaserade Stream Analytics-arbetsbelastningar som distribueras till Azure IoT Edge-enheter. Edge-jobb har två delar:

  • En molndel som hanterar jobbdefinitionen: du definierar indata, utdata, frågor och andra inställningar, till exempel out-of-order-händelser, i molnet.

  • En modul som körs på dina IoT-enheter. Modulen innehåller Stream Analytics-motorn och tar emot jobbdefinitionen från molnet.

Stream Analytics använder IoT Hub för att distribuera gränsjobb till enheter. Mer information finns i IoT Edge-distribution.

Diagram som visar komponenterna i ett Azure Stream Analytics edge-jobb.

Begränsningar för Edge-jobb

Stream Analytics-gränsjobb syftar till paritet mellan gräns- och molndistributioner. Ett molnjobb är ett Azure Stream Analytics-standardjobb som körs i Azure, medan ett kantjobb körs lokalt på en IoT Edge-enhet. Stream Analytics stöder de flesta SQL-frågespråkfunktioner för både gränsen och molnet. Edge-jobb stöder dock inte följande funktioner:

  • Användardefinierade funktioner (UDF) i JavaScript. UDF:er är tillgängliga i C# för IoT Edge-jobb (förhandsversion).
  • Användardefinierade aggregeringar (UDA).
  • Azure Machine Learning funktioner.
  • AVRO-format för indata/utdata. Edge-jobb stöder endast CSV- och JSON-format.
  • Följande SQL-operatorer:
    • PARTITION BY
    • GetMetadataPropertyValue
  • Policy för sen ankomst

Driftmiljö och maskinvarukrav

Om du vill köra Stream Analytics på IoT Edge behöver du enheter som kör Azure IoT Edge.

Stream Analytics och Azure IoT Edge använder Docker-containrar för att tillhandahålla en bärbar lösning som körs på flera värdoperativsystem (Windows, Linux).

Stream Analytics på IoT Edge körs som Linux-images för x86-64- och ARM-arkitekturer.

Indata och utdata för Stream Analytics-gränsjobb

Stream Analytics-gränsjobb hämtar indata och utdata från andra moduler som körs på IoT Edge enheter. Om du vill ansluta från och till specifika moduler anger du routningskonfigurationen vid distributionstillfället. Mer information finns i dokumentationen om IoT Edge-modulsammansättning.

Både indata och utdata stöder CSV- och JSON-format.

För varje indata- och utdataström som du skapar i ditt Stream Analytics-jobb skapar Stream Analytics en motsvarande slutpunkt i den distribuerade modulen. Använd dessa slutpunkter i distributionsvägarna.

Indatatyper för strömning som stöds är:

  • Edge Hub
  • Hubb för evenemang
  • IoT Hub

Strömutdatatyper som stöds är:

  • Edge Hub
  • SQL-databas
  • Hubb för evenemang
  • Blob Storage/Azure Data Lake Storage Gen2

Referensindata stöder referensfiltyp, som tillhandahåller statiska eller långsamt föränderliga data för sökningar. Om du vill nå andra utdatamål kedjar du ett molnbaserat Stream Analytics-jobb nedströms. Ett Stream Analytics-jobb som finns på IoT Edge skickar till exempel utdata till Edge Hub, som sedan kan skicka utdata till IoT Hub. Använd ett andra molnbaserat Azure Stream Analytics jobb med indata från IoT Hub och utdata till Power BI eller någon annan utdatatyp.

Bildinformation för Azure Stream Analytics-modulen

I följande tabell listas de tillgängliga modulavbildningarna för Stream Analytics i IoT Edge. Den här versionsinformationen uppdaterades senast 2020-09-21. Kontrollera Microsoft Container Registry för de senaste tillgängliga versionerna.

Bild Basbild Architecture 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 arm 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

Basavbilderna i den här tabellen använder .NET Core 2.1 och 3.0, som har uppnått slutet av supportperioden. Kontrollera Microsoft Container Registry efter uppdaterade Stream Analytics-avbilder för IoT Edge som bygger på .NET-versioner som stöds.