Tworzenie grafu przepływu danych w operacjach usługi Azure IoT

Wykres przepływu danych to potok przetwarzania, który przekształca dane w miarę przemieszczania się między źródłami i miejscami docelowymi. Standardowy przepływ danych przebiega według stałej sekwencji: wzbogacenie, filtracja, mapowanie. Wykres przepływu danych umożliwia tworzenie łańcuchów przekształceń w dowolnej kolejności, rozgałęzianie w ścieżkach równoległych i agregowanie danych w oknach czasu.

W tym artykule opisano krok po kroku tworzenie grafu przepływu danych. Aby zapoznać się z omówieniem wykresów przepływu danych i dostępnych przekształceń, zobacz Omówienie wykresów przepływu danych.

Wykresy przepływu danych obsługują obecnie tylko punkty końcowe MQTT, Kafka i OpenTelemetry. Nie obsługują innych typów endpointów, takich jak Data Lake, Microsoft Fabric, OneLake, Azure Data Explorer czy lokalna pamięć masowa.

Transformacje wykorzystują język wyrażeń do obliczania wartości, warunków testowych i pól odniesienia. Wyrażenia odnoszą się do wejść według położenia, a nie nazwy: pierwsze wejście w inputs liście to $1, drugie to $2, i tak dalej. Wbudowane funkcje, takie jak cToF, konwertują i modyfikują te wartości.

Pełną listę operatorów, funkcji, typów danych i pól metadanych można znaleźć w sekcji Expressions.

Wymagania wstępne

  • Instancja usługi Operacje Azure IoT wdrożona w klastrze Kubernetes. Aby uzyskać więcej informacji, zobacz Deploy Operacje Azure IoT.
  • Na komputerze deweloperskim zainstalowano Azure CLI. Sprawdź dostępne rozszerzenia Azure CLI dla minimalnej wymaganej wersji do korzystania z rozszerzenia azure-iot-ops. Użyj az --version do sprawdzenia swojej wersji i az upgrade do aktualizacji, jeśli to konieczne. Aby uzyskać więcej informacji, zobacz Install the Azure CLI .

  • Rozszerzenie Operacje Azure IoT dla Azure CLI. Użyj następującego polecenia, aby dodać rozszerzenie lub zaktualizować je do najnowszej wersji:

    az extension add --upgrade --name azure-iot-ops
    

Azure CLI przykładów w tym artykule używa zmiennych środowiskowych, dzięki czemu można ustawić każdą wartość raz, a następnie skopiować i wkleić polecenia as-is. Jeśli korzystasz ze środowiska Operacje Azure IoT Codespaces z quickstartu, te zmienne są już ustawione i możesz pominąć ten krok. W przeciwnym razie ustaw następujące zmienne środowiskowe w swojej poskoczce przed uruchomieniem poleceń.

Poniższe skrypty określają najczęściej używane zmienne środowiskowe:

Zmienna środowiskowa Opis
SUBSCRIPTION_ID ID subskrypcji zawierającej Twoją instancję Operacje Azure IoT.
RESOURCE_GROUP Nazwa grupy zasobów zawierającej Twoją instancję Operacje Azure IoT.
AIO_INSTANCE_NAME Nazwa Twojej instancji Operacje Azure IoT. Aby wypisać swoje instancje, uruchom az iot ops list -o table.
CLUSTER_NAME Nazwa klastra Kubernetes z włączonym Azure Arc, który hostuje Twoją instancję.
LOCATION Region Azure do wykorzystania dla nowych zasobów, na przykład eastus.
SUBSCRIPTION_ID=<subscription-id>
RESOURCE_GROUP=<resource-group-name>
AIO_INSTANCE_NAME=<instance-name>
CLUSTER_NAME=<cluster-name>
LOCATION=<region>

Wystarczy ustawić zmienne, których używa ten artykuł. W tym artykule może być użytych dodatkowych zmiennych środowiskowych do wyboru nazw zasobów. Artykuł wyjaśnia, jak ustawić je tam, gdzie są wprowadzane.

W tym artykule używa również zmiennych środowiskowych i GRAPH_NAMEPROFILE środowiskowych dla nazw wykresu przepływu danych oraz profili. Ustaw każdą z nich przed uruchomieniem odpowiednich poleceń.

Tworzenie grafu przepływu danych

Wykres przepływu danych zawiera trzy typy elementów: źródła , które przesyłają dane, przekształcają je, a lokalizacje docelowe , które je wysyłają. Połącz je w kolejności, w której dane mają być przepływane.

  1. W doświadczeniu operacyjnym przejdź do instancji Operacje Azure IoT.

  2. Wybierz Wykres przepływu danych>Utwórz wykres przepływu danych.

    Zrzut ekranu przedstawiający wykres przepływu danych przedstawiający środowisko operacji.

  3. Wprowadź nazwę grafu przepływu danych i wybierz profil przepływu danych. Domyślny profil jest domyślnie wybierany.

    Zrzut ekranu okna dialogowego tworzenia doświadczenia operacyjnego, pokazujący pole nazwy i listę rozwijaną profilu.

  4. Zbuduj swój pipeline, dodając elementy do kanwy.

    1. Dodaj źródło: wybierz źródłowy punkt końcowy i skonfiguruj tematy, aby subskrybować komunikaty przychodzące.

      Zrzut ekranu przedstawiający panel konfiguracji źródła doświadczenia operacyjnego z listą rozwijaną punktów końcowych i polem tematu.

    2. Dodawanie przekształceń: wybierz co najmniej jedną transformację, aby przetworzyć dane. Dostępne transformacje to mapa, filtr, rozgałęzienie, konkatenacja, okno oraz przepustnica. Aby uzyskać szczegółowe informacje na temat każdego typu transformacji, zobacz Omówienie wykresów przepływu danych.

      Zrzut ekranu menu wyboru transform doświadczenia operacyjnego, pokazujący dostępne typy transformacji.

      Zrzut ekranu środowiska operacyjnego przedstawiający przykład konfiguracji transformacji gałęzi.

    3. Dodaj miejsce docelowe: wybierz docelowy punkt końcowy i skonfiguruj temat lub ścieżkę do wysyłania przetworzonych danych.

      Zrzut ekranu przedstawiający środowisko operacji pokazujące przykład docelowy.

  5. Połącz elementy w kolejności, w której dane mają być przepływane.

    Zrzut ekranu przedstawiający kanwę interfejsu operacji z połączonym źródłem, przekształceniem i potokiem docelowym.

  6. Wybierz pozycję Zapisz , aby wdrożyć wykres przepływu danych.

Konfigurowanie źródła

Źródło definiuje miejsce, w którym dane wchodzą do potoku. Określ odwołanie do punktu końcowego i co najmniej jeden temat.

W edytorze grafu przepływu danych wybierz element źródłowy i skonfiguruj:

Setting Opis
Punkt końcowy Punkt końcowy przepływu danych do użycia. Wybierz wartość domyślną dla lokalnego brokera MQTT.
Topics Co najmniej jeden subskrybowany temat do wiadomości przychodzących.

Dodawanie przekształceń

Przekształca dane procesowe między źródłem a celem. Każda transformacja odnosi się do wbudowanego artefaktu i posiada reguły konfiguracyjne.

Dostępne wbudowane przekształcenia to:

Przekształć Artifact Opis
Mapa azureiotoperations/graph-dataflow-map:1.0.0 Zmienianie nazwy, restrukturyzacja, obliczenia i kopiowanie pól.
Filtr azureiotoperations/graph-dataflow-filter:1.0.0 Usuwanie komunikatów pasujących do warunku.
Gałąź azureiotoperations/graph-dataflow-branch:1.0.0 Kieruj każdy komunikat do ścieżki true lub false na podstawie warunku.
Złączyć azureiotoperations/graph-dataflow-concatenate:1.0.0 Scal dwie lub więcej ścieżek ponownie w jedną.
Okno azureiotoperations/graph-dataflow-window:1.0.0 Zbierz komunikaty w przedziale czasu, a następnie zagreguj.
Ograniczanie azureiotoperations/graph-dataflow-throttle:1.0.0 Ogranicz częstotliwość wiadomości dla wzorca tematu MQTT.

Aby uzyskać więcej informacji na temat wzbogacania komunikatów o dane zewnętrzne, zobacz Wzbogacanie o dane zewnętrzne.

W edytorze wykresu przepływu danych wybierz pozycję Dodaj przekształcenie i wybierz typ przekształcenia. Skonfiguruj reguły w edytorze wizualizacji.

Łączenie wielu przekształceń

Łańcuch dowolnej liczby transformacji. Połącz je w sekcji nodeConnections w kolejności, w jakiej ma przepływać dane.

Przeciągnij połączenia między przekształceniami na kanwie, aby zdefiniować kolejność przetwarzania.

Konfigurowanie miejsca docelowego

Miejsce docelowe definiuje, gdzie trafiają przetwarzane dane. Określ odwołanie do punktu końcowego i temat lub ścieżkę.

Wybierz element docelowy i skonfiguruj:

Setting Opis
Punkt końcowy Punkt końcowy przepływu danych do wysyłania danych.
Topic Temat lub ścieżka do publikowania przetworzonych danych.

Aby uzyskać dynamiczny routing tematów oparty na zawartości komunikatów, zobacz Kierowanie komunikatów do różnych tematów.

Sprawdź, czy wykres przepływu danych działa

Po wdrożeniu grafu przepływu danych sprawdź, czy działa:

W doświadczeniu operacyjnym wybierz wykres przepływu danych, aby zobaczyć jego status. Wykres w dobrej kondycji oznacza stan Uruchomiony.