Udostępnij za pomocą


Samouczek: wysyłanie komunikatów z 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 Microsoft Fabric Real-Time Dashboard 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

Upewnij się, że następujące zmienne środowiskowe są ustawione w powłoce:

Wskazówka

Aby wyświetlić tożsamości zarządzane przypisane przez użytkownika utworzone w grupie zasobów, uruchom następujące polecenie w powłoce: az identity list -g $RESOURCE_GROUP -o table

# 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>

# The name of the user-assigned managed identity that you created for cloud connections
USER_ASSIGNED_MI_NAME=<cloud-connection-uami>

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 identity show --name $USER_ASSIGNED_MI_NAME --resource-group $RESOURCE_GROUP --query principalId --output tsv)

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

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

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

  • temperature Zmienia nazwę pola w komunikacie przychodzącym na TemperatureF.
  • 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 panelu operacji w przeglądarce internetowej i znajdź swoją instancję. 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ę punktów końcowych przepływu danych.

  2. W punkcie końcowym Tworzenie nowego przepływu danych: Azure Event Hubs wprowadź event-hubs-target jako nazwę i znajdź przestrzeń nazw utworzoną w polu Host dla Event Hubs.

  3. Wybierz tożsamość zarządzaną przypisaną przez użytkownika jako metodę uwierzytelniania. Dodaj wartości identyfikatora klienta i identyfikatora dzierżawy przypisanej tożsamości zarządzanej użytkownika używanej na potrzeby połączeń w chmurze. Użyj następującego polecenia wiersza poleceń, aby wyświetlić listę identyfikatorów klienta i dzierżawcy przypisanych tożsamości zarządzanych w grupie zasobów: az identity list -g $RESOURCE_GROUP -o table.

  4. Wybierz pozycję Zastosuj:

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

    Nowy punkt końcowy przepływu danych jest tworzony i wyświetlany na liście na stronie Punkty końcowe przepływu danych.

  5. 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ływów danych.

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

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

  8. Na następnej stronie wprowadź wartość destinationeh jako temat. Temat dotyczy centrum utworzonego w przestrzeni nazw usługi Event Hubs. Wybierz i 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.

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

  10. Aby zmienić nazwę temperature pola w komunikacie przychodzącym, wybierz pozycję + Dodaj na kafelku Zmień nazwę .

  11. Dodaj następującą transformację zmiany nazwy:

    Punkt danych Nowa nazwa punktu danych
    temperatura. Wartość TermostatTemperatureF
  12. Aby skopiować identyfikator zasobu z metadanych komunikatu, dodaj następującą transformację zmiany nazwy:

    Punkt danych 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 i zastosuj.

  13. Edytor przepływu danych wygląda teraz jak na poniższym zrzucie ekranu:

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

  14. Aby uruchomić przepływ danych, wprowadź nazwę tutorial-data-flow , 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**.

Wskazówka

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 w celu 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.

Uprzątnij zasoby

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

Jeśli chcesz usunąć wdrożenie Azure IoT Operations, 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 użyłeś Codespaces do tych samouczków, usuń swoje Codespace z GitHub.

Uwaga / Notatka

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

Następny krok

Samouczek: uzyskiwanie szczegółowych informacji z komunikatów dotyczących zasobów