Szybki start: wysyłanie danych telemetrycznych zasobów do chmury przy użyciu przepływu danych
Ważne
Usługa Azure IoT Operations Preview — włączona przez usługę Azure Arc jest obecnie dostępna w wersji zapoznawczej. Nie należy używać tego oprogramowania w wersji zapoznawczej w środowiskach produkcyjnych.
Po udostępnieniu ogólnie dostępnej wersji należy wdrożyć nową instalację operacji usługi Azure IoT. Nie będzie można uaktualnić instalacji w wersji zapoznawczej.
Zobacz Dodatkowe warunki użytkowania wersji zapoznawczych platformy Microsoft Azure, aby zapoznać się z postanowieniami prawnymi dotyczącymi funkcji platformy Azure, które są w wersji beta lub wersji zapoznawczej albo w inny sposób nie zostały jeszcze wydane jako ogólnie dostępne.
W tym przewodniku Szybki start 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 przewodniku Szybki start użyjesz pulpitu nawigacyjnego w czasie rzeczywistym, aby zwizualizować dane.
Wymagania wstępne
Przed rozpoczęciem tego przewodnika Szybki start należy wykonać następujące przewodniki Szybki start:
- Szybki start: uruchamianie usługi Azure IoT Operations Preview w usłudze GitHub Codespaces przy użyciu platformy K3s
- Szybki start: dodawanie zasobów OPC UA do klastra usługi Azure IoT Operations Preview
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 przewodniku Szybki start 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 true
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ń
Aby utworzyć i skonfigurować przepływ danych w klastrze, uruchom następujące polecenia w powłoce. Ten przepływ danych:
Tag 10
Zmienia nazwę pola w komunikacie przychodzącym naHumidity
.temperature
Zmienia nazwę pola w komunikacie przychodzącym naTemperature
.- Dodaje pole o nazwie
AssetId
, które zawiera wartość właściwości komunikatuexternalAssetId
. - Przekazuje przekształcone komunikaty z tematu MQTT do utworzonego centrum zdarzeń.
wget https://raw.githubusercontent.com/Azure-Samples/explore-iot-operations/main/samples/quickstarts/dataflow.yaml
sed -i 's/<NAMESPACE>/'"${CLUSTER_NAME:0:24}"'/' dataflow.yaml
kubectl apply -f dataflow.yaml
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 przewodniku Szybki start użyto przepływu danych do połączenia tematu MQTT z centrum zdarzeń w przestrzeni nazw usługi Azure Event Hubs. W następnym przewodniku Szybki start użyjesz analizy czasu rzeczywistego usługi Microsoft Fabric do wizualizacji danych.
Czyszczenie zasobów
Jeśli przejdziesz do następnego przewodnika Szybki start, 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 przewodniku Szybki start.
Następny krok
Szybki start: uzyskiwanie szczegółowych informacji z telemetrii zasobów