Azure Stream Analytics na urządzeniach IoT Edge

Usługa Azure Stream Analytics w usłudze IoT Edge umożliwia deweloperom wdrażanie analizy niemal w czasie rzeczywistym bliżej urządzeń IoT, dzięki czemu mogą odblokować pełną wartość danych generowanych przez urządzenie. Usługę Azure Stream Analytics zaprojektowano pod kątem małych opóźnień, odporności, wydajnego wykorzystywania przepustowości i zgodności. Przedsiębiorstwa mogą wdrażać logikę sterowania blisko operacji przemysłowych i uzupełniać analizę danych big data wykonywaną w chmurze.

Usługa Azure Stream Analytics w IoT Edge działa w ramach platformy Azure IoT Edge. Po utworzeniu zadania w usłudze Stream Analytics możesz wdrożyć zadanie i zarządzać nim przy użyciu IoT Hub.

Typowe scenariusze

W tej sekcji opisano typowe scenariusze dotyczące usługi Stream Analytics w IoT Edge. Na poniższym diagramie przedstawiono przepływ danych między urządzeniami IoT a chmurą platformy Azure.

Ogólny diagram IoT Edge

Polecenie i kontrolka o małym opóźnieniu

Systemy bezpieczeństwa produkcyjnego muszą reagować na dane operacyjne z bardzo niskim opóźnieniem. Usługa Stream Analytics w usłudze IoT Edge umożliwia analizowanie danych czujników w czasie niemal rzeczywistym i wydawanie poleceń podczas wykrywania anomalii w celu zatrzymania maszyny lub wyzwalania alertów.

Ograniczona łączność z chmurą

Systemy o krytycznym znaczeniu, takie jak zdalny sprzęt górniczy, połączone statki lub wiercenia morskie, muszą analizować dane i reagować na nie nawet wtedy, gdy łączność z chmurą jest sporadycznie. Dzięki usłudze Stream Analytics logika przesyłania strumieniowego działa niezależnie od łączności sieciowej i możesz wybrać elementy wysyłane do chmury w celu dalszego przetwarzania lub przechowywania.

Ograniczona przepustowość

Ilość danych generowanych przez silniki odrzutowe lub połączone samochody może być tak duża, że dane muszą być filtrowane lub wstępnie przetwarzane przed wysłaniem ich do chmury. Za pomocą usługi Stream Analytics można filtrować lub agregować dane, które muszą być wysyłane do chmury.

Zgodność

Zgodność z przepisami może wymagać, aby niektóre dane były lokalnie anonimowe lub agregowane przed wysłaniem ich do chmury.

Zadania usługi Edge w usłudze Azure Stream Analytics

Zadania usługi Stream Analytics Edge są uruchamiane w kontenerach wdrożonych na urządzeniach platformy Azure IoT Edge. Zadania brzegowe składają się z dwóch części:

  • Część chmury odpowiedzialna za definicję zadania: użytkownicy definiują dane wejściowe, dane wyjściowe, zapytania i inne ustawienia, takie jak zdarzenia poza kolejnością, w chmurze.

  • Moduł działający na urządzeniach IoT. Moduł zawiera aparat usługi Stream Analytics i odbiera definicję zadania z chmury.

Usługa Stream Analytics używa IoT Hub do wdrażania zadań brzegowych na urządzeniach. Aby uzyskać więcej informacji, zobacz IoT Edge wdrażanie.

Zadanie usługi Azure Stream Analytics Edge

Ograniczenia zadań usługi Edge

Celem jest parzystość między zadaniami IoT Edge a zadaniami w chmurze. Większość funkcji języka zapytań SQL jest obsługiwana zarówno dla urządzeń brzegowych, jak i w chmurze. Jednak następujące funkcje nie są obsługiwane w przypadku zadań brzegowych:

  • Funkcje zdefiniowane przez użytkownika (UDF) w języku JavaScript. Funkcje UDF są dostępne w języku C# dla zadań IoT Edge (wersja zapoznawcza).
  • Agregacje zdefiniowane przez użytkownika (UDA).
  • Funkcje usługi Azure ML.
  • Format AVRO dla danych wejściowych/wyjściowych. Obecnie obsługiwane są tylko pliki CSV i JSON.
  • Następujące operatory SQL:
    • PARTYCJONOWANIE WEDŁUG
    • GetMetadataPropertyValue
  • Zasady późnego przyjazdu

Wymagania dotyczące środowiska uruchomieniowego i sprzętu

Aby uruchomić usługę Stream Analytics na IoT Edge, potrzebne są urządzenia, które mogą uruchamiać usługę Azure IoT Edge.

Usługa Stream Analytics i usługa Azure IoT Edge używają kontenerów platformy Docker do zapewnienia przenośnego rozwiązania działającego w wielu systemach operacyjnych hosta (Windows, Linux).

Usługa Stream Analytics w usłudze IoT Edge jest udostępniana jako obrazy systemu Windows i Linux działające zarówno w architekturze x86-64, jak i arm (Advanced RISC Machines).

Dane wejściowe i wyjściowe

Zadania usługi Stream Analytics Edge mogą pobierać dane wejściowe i wyjściowe z innych modułów uruchomionych na urządzeniach IoT Edge. Aby nawiązać połączenie z określonych modułów i z określonymi modułami, możesz ustawić konfigurację routingu w czasie wdrażania. Więcej informacji znajduje się w dokumentacji dotyczącej kompozycji modułu IoT Edge.

W przypadku danych wejściowych i wyjściowych obsługiwane są formaty CSV i JSON.

Dla każdego strumienia wejściowego i wyjściowego tworzonego w zadaniu usługi Stream Analytics odpowiedni punkt końcowy jest tworzony w wdrożonym module. Te punkty końcowe mogą być używane w trasach wdrożenia.

Obsługiwane typy danych wejściowych strumienia to:

  • Koncentrator brzegowy
  • Centrum zdarzeń
  • Usługa IoT Hub

Obsługiwane typy danych wyjściowych strumienia to:

  • Koncentrator brzegowy
  • SQL Database
  • Centrum zdarzeń
  • Blob Storage/ADLS Gen2

Dane wejściowe odwołania obsługują typ pliku referencyjnego. Inne dane wyjściowe można uzyskać przy użyciu podrzędnego zadania w chmurze. Na przykład zadanie usługi Stream Analytics hostowane w przeglądarce Edge wysyła dane wyjściowe do centrum Edge, które następnie może wysyłać dane wyjściowe do IoT Hub. Możesz użyć drugiego zadania usługi Azure Stream Analytics hostowanego w chmurze z danymi wejściowymi z IoT Hub i danych wyjściowych do usługi Power BI lub innego typu danych wyjściowych.

Uwagi dotyczące licencji i innych firm

Informacje o obrazie modułu usługi Azure Stream Analytics

Te informacje o wersji zostały ostatnio zaktualizowane 2020-09-21:

  • Obraz: mcr.microsoft.com/azure-stream-analytics/azureiotedge:1.0.9-linux-amd64

    • obraz podstawowy: mcr.microsoft.com/dotnet/core/runtime:2.1.13-alpine
    • Platformy:
      • architektura: amd64
      • system operacyjny: linux
  • Obraz: mcr.microsoft.com/azure-stream-analytics/azureiotedge:1.0.9-linux-arm32v7

    • obraz podstawowy: mcr.microsoft.com/dotnet/core/runtime:2.1.13-bionic-arm32v7
    • Platformy:
      • architektura: arm
      • system operacyjny: linux
  • Obraz: mcr.microsoft.com/azure-stream-analytics/azureiotedge:1.0.9-linux-arm64

    • obraz podstawowy: mcr.microsoft.com/dotnet/core/runtime:3.0-bionic-arm64v8
    • Platformy:
      • architektura: arm64
      • system operacyjny: linux

Uzyskaj pomoc

Aby uzyskać dalszą pomoc, wypróbuj stronę pytania Microsoft Q&A dotyczącą usługi Azure Stream Analytics.

Następne kroki