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 naHumidity
.temperature
Zmienia nazwę pola w komunikacie przychodzącym naTemperature
.- 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:
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:
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:
Nowy punkt końcowy przepływu danych zostanie utworzony i wyświetlony na liście na stronie Punkty końcowe przepływu danych.
Wybierz pozycję Przepływy danych, a następnie wybierz pozycję + Utwórz przepływ danych. Zostanie wyświetlona <strona nowy przepływ> danych:
W edytorze przepływu danych wybierz pozycję Wybierz źródło. Następnie wybierz utworzony wcześniej zasób termostatu i wybierz pozycję Zastosuj.
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.
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.
Aby dodać przekształcenie, wybierz pozycję Dodaj przekształcenie (opcjonalnie).
Aby zmienić nazwę
Tag 10
pól itemperature
w komunikacie przychodzącym, wybierz pozycję + Dodaj na kafelku Zmień nazwę .Dodaj następujące dwie przekształcenia zmiany nazwy:
Datapoint Nowa nazwa punktu danych Tag 10.Value TermostatHumidity temperatura. Wartość TermostatTemperature 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:
Wybierz Zastosuj.
Edytor przepływów danych wygląda teraz jak na poniższym zrzucie ekranu:
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:
Jeśli komunikaty przepływają, możesz użyć Eksploratora danych, aby wyświetlić komunikaty:
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