Udostępnij za pośrednictwem


Samouczek: wysyłanie danych telemetrycznych zasobów do chmury przy użyciu przepływu danych

W tym samouczku użyjesz przepływu danych do przekazywania komunikatów z brokera MQTT do centrum zdarzeń w usłudze Azure Event Hubs. Centrum zdarzeń może dostarczać dane do innych usług w chmurze na potrzeby magazynowania i analizy. W następnym samouczku użyjesz pulpitu nawigacyjnego w czasie rzeczywistym do wizualizacji danych.

Wymagania wstępne

Przed rozpoczęciem tego samouczka należy ukończyć samouczek: dodawanie zasobów OPC UA do klastra operacji usługi Azure IoT.

Jaki problem rozwiążemy?

Aby użyć narzędzia, takiego jak pulpit nawigacyjny w czasie rzeczywistym do analizowania danych OPC UA, musisz wysłać dane do usługi w chmurze, takiej jak Azure Event Hubs. Przepływ danych może subskrybować temat MQTT i przekazywać komunikaty do centrum zdarzeń w przestrzeni nazw usługi Azure Event Hubs. W następnym samouczku pokazano, jak używać pulpitów nawigacyjnych czasu rzeczywistego do wizualizacji i analizowania danych.

Ustawianie zmiennych środowiskowych

Jeśli używasz środowiska Codespaces, wymagane zmienne środowiskowe są już ustawione i możesz pominąć ten krok. W przeciwnym razie ustaw następujące zmienne środowiskowe w powłoce:

# The name of the resource group where your Kubernetes cluster is deployed
RESOURCE_GROUP=<resource-group-name>

# The name of your Kubernetes cluster
CLUSTER_NAME=<kubernetes-cluster-name>

Tworzenie przestrzeni nazw usługi Event Hubs

Aby utworzyć przestrzeń nazw usługi Event Hubs i centrum zdarzeń, uruchom następujące polecenia interfejsu wiersza polecenia platformy Azure w powłoce. Te polecenia tworzą przestrzeń nazw usługi Event Hubs w tej samej grupie zasobów co klaster Kubernetes:

az eventhubs namespace create --name ${CLUSTER_NAME:0:24} --resource-group $RESOURCE_GROUP --disable-local-auth false

az eventhubs eventhub create --name destinationeh --resource-group $RESOURCE_GROUP --namespace-name ${CLUSTER_NAME:0:24} --retention-time 1 --partition-count 1 --cleanup-policy Delete

Aby udzielić rozszerzenia Operacje usługi Azure IoT w klastrze dostępu do przestrzeni nazw usługi Event Hubs, uruchom następujące polecenia interfejsu wiersza polecenia platformy Azure:

EVENTHUBRESOURCE=$(az eventhubs namespace show --resource-group $RESOURCE_GROUP --namespace-name ${CLUSTER_NAME:0:24} --query id -o tsv)

PRINCIPAL=$(az k8s-extension list --resource-group $RESOURCE_GROUP --cluster-name $CLUSTER_NAME --cluster-type connectedClusters -o tsv --query "[?extensionType=='microsoft.iotoperations'].identity.principalId")

az role assignment create --role "Azure Event Hubs Data Sender" --assignee $PRINCIPAL --scope $EVENTHUBRESOURCE

Tworzenie przepływu danych w celu wysyłania danych telemetrycznych do centrum zdarzeń

Użyj interfejsu użytkownika środowiska operacji, aby utworzyć i skonfigurować przepływ danych w klastrze, który:

  • Tag 10 Zmienia nazwę pola w komunikacie przychodzącym na Humidity.
  • temperature Zmienia nazwę pola w komunikacie przychodzącym na Temperature.
  • Dodaje pole o nazwie AssetId zawierające nazwę zasobu.
  • Przekazuje przekształcone komunikaty z tematu MQTT do utworzonego centrum zdarzeń.

Aby utworzyć przepływ danych:

  1. Przejdź do interfejsu użytkownika środowiska operacji i znajdź wystąpienie. Następnie wybierz pozycję Punkty końcowe przepływu danych i wybierz pozycję + Nowy na kafelku usługi Azure Event Hubs:

    Zrzut ekranu przedstawiający stronę Punkty końcowe przepływu danych.

  2. W obszarze Tworzenie nowego punktu końcowego przepływu danych: Azure Event Hubs wprowadź wartość event-hubs-target jako nazwę i zaktualizuj pole Host przy użyciu adresu utworzonej przestrzeni nazw usługi Event Hubs. Wybierz pozycję Zastosuj:

    Zrzut ekranu przedstawiający stronę Tworzenie nowego przepływu danych: Azure Event Hubs.

    Nowy punkt końcowy przepływu danych zostanie utworzony i wyświetlony na liście na stronie Punkty końcowe przepływu danych.

  3. Wybierz pozycję Przepływy danych, a następnie wybierz pozycję + Utwórz przepływ danych. Zostanie wyświetlona <strona nowy przepływ> danych:

    Zrzut ekranu przedstawiający stronę Przepływy danych.

  4. W edytorze przepływu danych wybierz pozycję Wybierz źródło. Następnie wybierz utworzony wcześniej zasób termostatu i wybierz pozycję Zastosuj.

  5. W edytorze przepływu danych wybierz pozycję Wybierz punkt końcowy przepływu danych. Następnie wybierz utworzony wcześniej punkt końcowy event-hubs-target i wybierz pozycję Zastosuj.

  6. Na następnej stronie wprowadź wartość destinationeh jako temat. Temat dotyczy centrum utworzonego w przestrzeni nazw usługi Event Hubs. Wybierz Zastosuj. Przepływ danych ma teraz zasób termostatu jako źródło i centrum w przestrzeni nazw usługi Event Hubs jako miejsce docelowe.

  7. Aby dodać przekształcenie, wybierz pozycję Dodaj przekształcenie (opcjonalnie).

  8. Aby zmienić nazwę Tag 10 pól i temperature w komunikacie przychodzącym, wybierz pozycję + Dodaj na kafelku Zmień nazwę .

  9. Dodaj następujące dwie przekształcenia zmiany nazwy:

    Datapoint Nowa nazwa punktu danych
    Tag 10.Value TermostatHumidity
    temperatura. Wartość TermostatTemperature
  10. Aby skopiować identyfikator zasobu z metadanych komunikatu, dodaj następującą transformację zmiany nazwy:

    Datapoint Nowa nazwa punktu danych
    $metadata.user_property.externalAssetId Identyfikator zasobu

    Przekształcenie zmiany nazwy wygląda jak na poniższym zrzucie ekranu:

    Zrzut ekranu przedstawiający przekształcenie zmiany nazwy.

    Wybierz Zastosuj.

  11. Edytor przepływów danych wygląda teraz jak na poniższym zrzucie ekranu:

    Zrzut ekranu przedstawiający ukończony przepływ danych.

  12. Aby uruchomić przepływ danych, wprowadź nazwę tutorial-dataflow , a następnie wybierz pozycję Zapisz. Po kilku minutach stan aprowizacji zmieni się na Powodzenie. Przepływ danych jest teraz uruchomiony w klastrze.

Przepływ danych subskrybuje temat MQTT w celu odbierania komunikatów z zasobu termostatu. Zmienia nazwę niektórych pól w komunikacie i przekazuje przekształcone komunikaty do utworzonego centrum zdarzeń.

Sprawdzanie, czy dane przepływają

Aby sprawdzić, czy dane przepływają do chmury, możesz wyświetlić wystąpienie usługi Event Hubs w witrynie Azure Portal. Może być konieczne odczekanie kilku minut na uruchomienie przepływu danych i przepływ komunikatów do centrum zdarzeń.

Jeśli komunikaty przepływają do wystąpienia, możesz zobaczyć liczbę przychodzących komunikatów na stronie Przegląd wystąpienia:

Zrzut ekranu przedstawiający stronę przeglądu wystąpienia usługi Event Hubs z komunikatami przychodzącymi.

Jeśli komunikaty przepływają, możesz użyć Eksploratora danych, aby wyświetlić komunikaty:

Zrzut ekranu przedstawiający stronę wystąpienia usługi Event Hubs **Eksplorator danych**.

Napiwek

Aby wyświetlić komunikaty, może być konieczne przypisanie siebie do roli odbiornika danych usługi Azure Event Hubs.

Jak rozwiązaliśmy ten problem?

W tym samouczku użyto przepływu danych do połączenia tematu MQTT z centrum zdarzeń w przestrzeni nazw usługi Azure Event Hubs. W następnym samouczku użyjesz analizy czasu rzeczywistego usługi Microsoft Fabric do wizualizacji danych.

Czyszczenie zasobów

Jeśli przejdziesz do następnego samouczka, zachowaj wszystkie zasoby.

Jeśli chcesz usunąć wdrożenie operacji usługi Azure IoT, ale zachować klaster, użyj polecenia az iot ops delete :

az iot ops delete --cluster $CLUSTER_NAME --resource-group $RESOURCE_GROUP

Jeśli chcesz usunąć wszystkie zasoby utworzone na potrzeby tego przewodnika Szybki start, usuń klaster Kubernetes, w którym wdrożono operacje usługi Azure IoT, a następnie usuń grupę zasobów platformy Azure zawierającą klaster.

Jeśli na potrzeby tych przewodników Szybki start użyto usługi Codespaces, usuń środowisko Codespace z usługi GitHub.

Uwaga

Grupa zasobów zawiera przestrzeń nazw usługi Event Hubs utworzoną w tym samouczku.

Następny krok

Samouczek: uzyskiwanie szczegółowych informacji z telemetrii zasobów