Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Użyj trasowania wiadomości w Azure IoT Hub, aby wysyłać dane telemetryczne z Twoich urządzeń IoT do usług Azure, takich jak magazyn obiektów blob, kolejki Service Bus, tematy Service Bus i centra zdarzeń. Każdy hub IoT posiada domyślny wbudowany punkt końcowy, który jest kompatybilny z Event Hubs. Możesz również utworzyć niestandardowe punkty końcowe i kierować komunikaty do innych usług platformy Azure, definiując zapytania routingu. Każda wiadomość, która dociera do centrum IoT, jest kierowana do wszystkich punktów końcowych, których zapytania dotyczące trasowania są zgodne z nią. Jeśli komunikat nie jest zgodny z żadnym ze zdefiniowanych zapytań routingu, jest kierowany do domyślnego punktu końcowego.
W tym samouczku wykonasz następujące zadania:
- Utwórz koncentrator IoT i wysyłaj do niego wiadomości z urządzeń.
- Utwórz konto magazynowe.
- Utwórz niestandardowy punkt końcowy dla konta magazynu i przekieruj do niego wiadomości z centrum IoT.
- Wyświetl komunikaty urządzeń w BLOB-ie konta magazynu.
Prerequisites
Subskrypcja Azure. Jeśli nie masz subskrypcji Azure, utwórz bezpłatne konto przed rozpoczęciem.
Centrum IoT w Twojej subskrypcji Azure. Jeśli nie masz jeszcze centrum IoT, możesz wykonać kroki opisane w Tworzenie centrum IoT.
W tym samouczku jest używany przykładowy kod z zestawu Microsoft Azure IoT SDK dla platformy .NET.
- Pobierz lub sklonuj repozytorium SDK na swój komputer deweloperski.
- Upewnij się, że masz .NET Core 3.0.0 lub nowszy na swojej maszynie deweloperskiej. Sprawdź swoją wersję, uruchamiając
dotnet --version, i pobierz .NET, jeśli to konieczne.
Upewnij się, że port 8883 jest otwarty w twoim firewallu. Przykład w tym samouczku korzysta z protokołu MQTT, który komunikuje się przez port 8883. Ten port może zostać zablokowany w niektórych środowiskach sieci firmowych i edukacyjnych. Aby uzyskać więcej informacji i sposobów obejścia tego problemu, zobacz Nawiązywanie połączenia z usługą IoT Hub.
Opcjonalnie zainstaluj narzędzie Azure IoT Explorer (wersja zapoznawcza). To narzędzie pomaga w obserwacji wiadomości, gdy docierają do Twojego centrum IoT. Ten artykuł korzysta z Azure IoT Explorer.
Nie ma innych wymagań wstępnych dla portalu Azure.
Zarejestruj urządzenie i wysyłaj wiadomości do centrum IoT
Zarejestruj nowe urządzenie w swoim centrum IoT.
Important
Ten artykuł zawiera kroki do podłączenia urządzenia przy użyciu podpisu dostępu współdzielonego, znanego również jako uwierzytelnianie kluczem symetrycznym. Ta metoda uwierzytelniania jest wygodna w przypadku testów i oceny, ale uwierzytelnianie urządzenia za pomocą certyfikatów X.509 jest bardziej bezpiecznym podejściem. Aby dowiedzieć się więcej, zobacz Security best practices for IoT solutions Connection security (Najlepsze rozwiązania w zakresie zabezpieczeń rozwiązań > IoT Connection Security).
Zaloguj się do portalu Azure i przejdź do swojego centrum IoT.
Wybierz Urządzenia z sekcji Zarządzanie urządzeniami w menu.
Wybierz Dodaj urządzenie.
Podaj identyfikator urządzenia i wybierz Save.
Nowe urządzenie powinno się teraz znajdować na liście urządzeń. Jeśli nie, odśwież stronę. Wybierz identyfikator urządzenia, aby otworzyć stronę szczegółów urządzenia.
Skopiuj jeden z kluczy urządzenia i zapisz go. Ta wartość służy do konfigurowania przykładowego kodu, który generuje symulowane komunikaty telemetryczne urządzenia.
Teraz, gdy masz identyfikator urządzenia i klucz, użyj przykładowego kodu, aby rozpocząć wysyłanie komunikatów telemetrycznych urządzenia do usługi IoT Hub.
Tip
Jeśli śledzisz kroki Azure CLI w tym samouczku, uruchom przykładowy kod w osobnej sesji. W ten sposób możesz pozwolić przykładowemu kodowi dalej działać, podczas gdy wykonujesz pozostałe kroki interfejsu wiersza poleceń (CLI).
Jeśli nie jesteś częścią wymagań wstępnych, pobierz lub sklonuj zestaw SDK usługi Microsoft Azure IoT dla platformy .NET z repozytorium GitHub.
Z katalogu, w którym pobrałeś lub sklonowałeś SDK, przejdź do folderu
azure-iot-sdk-csharp\iothub\device\samples\how to guides\HubRoutingSample.Zainstaluj zestaw MICROSOFT Azure IoT SDK dla platformy .NET i niezbędne zależności określone w
HubRoutingSample.csprojpliku:dotnet restoreW edytorze według swojego wyboru otwórz plik
Parameters.cs. Ten plik pokazuje parametry obsługiwane przez próbkę. Tylko parametrPrimaryConnectionStringjest używany w tym artykule podczas uruchamiania przykładu. Przejrzyj kod w tym pliku. Żadne zmiany nie są potrzebne.Zbuduj i uruchom przykładowy kod, używając następującego polecenia:
Zastąp
<myDevicePrimaryConnectionString>swoim głównym ciągiem połączenia z urządzenia w swoim centrum IoT.dotnet run --PrimaryConnectionString <myDevicePrimaryConnectionString>Należy zacząć widzieć komunikaty pojawiające się na wyjściu, gdy są one wysyłane do usługi IoT Hub. Zostaw ten program uruchomiony podczas samouczka.
Skonfiguruj IoT Explorer, aby wyświetlać wiadomości
Skonfiguruj IoT Explorer, aby połączyć się z Twoim centrum IoT i odczytywać wiadomości, gdy docierają do wbudowanego punktu końcowego.
Najpierw pobierz łańcuch połączenia dla swojego centrum IoT.
W portalu Azure przejdź do swojego IoT hubu.
Wybierz Zasady wspólnego dostępu z sekcji Ustawienia zabezpieczeń w menu.
Wybierz politykę iothubowner.
Skopiuj Primary connection string.
Teraz użyj tego connection string, aby skonfigurować IoT Explorer dla swojego IoT hub.
Otwórz IoT Explorer na swojej maszynie deweloperskiej.
Jeśli zostanie wyświetlony, wybierz pozycję Połącz za pośrednictwem parametrów połączenia usługi IoT Hub.
Wybierz opcję Dodaj połączenie.
Wklej ciąg połączenia swojego huba do pola tekstowego.
Wybierz Zapisz.
Po połączeniu z centrum IoT powinieneś zobaczyć listę urządzeń. Wybierz identyfikator urządzenia, który utworzyłeś na potrzeby tego samouczka.
Wybierz pozycję Telemetria.
Gdy urządzenie nadal działa, wybierz Start. Jeśli urządzenie nie jest uruchomione, nie można wyświetlić danych telemetrycznych.
Powinieneś widzieć wiadomości przychodzące z Twojego urządzenia, z najnowszymi wyświetlanymi na górze.
Obserwuj przychodzące wiadomości przez kilka chwil, aby zweryfikować, że widzisz trzy różne typy wiadomości: normalny, magazynowy i krytyczny. Po obejrzeniu wszystkich trzech typów komunikatów możesz zatrzymać urządzenie.
Wszystkie te wiadomości docierają do domyślnego wbudowanego punktu końcowego Twojego centrum IoT. W następnych sekcjach stworzymy niestandardowy punkt końcowy i przekierujemy niektóre z tych komunikatów do magazynu na podstawie właściwości wiadomości. Te komunikaty przestają pojawiać się w eksploratorze IoT, ponieważ komunikaty przechodzą tylko do wbudowanego punktu końcowego, gdy nie są zgodne z żadnymi innymi trasami w centrum IoT.
Skonfiguruj trasowanie wiadomości
Będziesz kierować wiadomości do różnych zasobów na podstawie właściwości przypisanych do wiadomości przez symulowane urządzenie. Wiadomości, które nie są przekierowane niestandardowo, są wysyłane do domyślnego punktu końcowego (wiadomości/zdarzenia).
Przykładowa aplikacja w tym samouczku przypisuje każdej wiadomości, którą wysyła do centrum IoT, właściwość level. Każdej wiadomości losowo przypisywany jest poziom normalny, przechowywania lub krytyczny.
Pierwszym krokiem jest skonfigurowanie punktu końcowego, do którego są kierowane dane. Drugi krok to skonfigurowanie trasy wiadomości, która korzysta z tego punktu końcowego. Po skonfigurowaniu trasowania możesz wyświetlać punkty końcowe i trasy wiadomości w portalu.
Utwórz konto magazynu
Utwórz konto usługi Azure Storage i kontener w ramach tego konta, które przechowuje komunikaty urządzenia, które są kierowane do niego.
W portalu Azure wyszukaj kont Storage.
Wybierz Utwórz.
Podaj następujące wartości dla swojego konta magazynowego.
Parameter Wartość Subscription Wybierz tę samą subskrypcję, która zawiera Twój IoT hub. Grupa zasobów Wybierz tę samą grupę zasobów, która zawiera twój IoT hub. Nazwa konta magazynu Proszę podać globalnie unikalną nazwę dla swojego konta magazynowego. Performance Zaakceptuj domyślną wartość Standard.
Możesz zaakceptować wszystkie pozostałe wartości domyślne, wybierając Przegląd + utwórz.
Po zakończeniu walidacji wybierz Utwórz.
Po zakończeniu wdrażania wybierz Przejdź do zasobu.
W menu konta magazynu wybierz Kontenery z sekcji Przechowywanie danych.
Wybierz + Pojemnik, aby utworzyć nowy pojemnik.
Podaj nazwę dla swojego kontenera i wybierz Utwórz.
Trasa do konta magazynu
Teraz skonfiguruj trasowanie dla konta magazynowego. W tej sekcji zdefiniujesz nowy punkt końcowy wskazujący konto magazynowe, które utworzyłeś. Następnie utworzysz trasę, która filtruje komunikaty, w których właściwość level jest ustawiona na przechowywanie, i kieruje te komunikaty do punktu końcowego przechowywania.
Note
Dane mogą być zapisywane w magazynie blobów w formacie Apache Avro, który jest domyślny, lub JSON.
Format kodowania można ustawić tylko w momencie konfigurowania punktu końcowego magazynu blobów. Nie można zmienić formatu dla wcześniej skonfigurowanego punktu końcowego. Podczas korzystania z kodowania JSON należy ustawić contentType na JSON, a contentEncoding na UTF-8 w właściwościach systemu wiadomości.
Aby uzyskać bardziej szczegółowe informacje na temat korzystania z punktu końcowego magazynu obiektów blob, zobacz Azure Storage jako punkt końcowy routingu.
Important
Ten artykuł zawiera kroki, aby połączyć się z usługą przy użyciu podpisu dostępu współdzielonego. Ta metoda uwierzytelniania jest wygodna do testowania i oceny, ale uwierzytelnianie usługi za pomocą Microsoft Entra ID lub zarządzanych tożsamości jest bardziej bezpiecznym podejściem. Aby dowiedzieć się więcej, zobacz Najlepsze rozwiązania w zakresie zabezpieczeń rozwiązań > IoT w chmurze.
Na portalu Azure, przejdź do swojego centrum IoT.
W menu zasobów w obszarze Ustawienia centrum wybierz pozycję Routing komunikatów , a następnie wybierz pozycję Dodaj.
Na karcie Endpoint stwórz punkt końcowy pamięci masowej, podając następujące informacje:
Parameter Wartość Typ punktu końcowego Wybierz pozycję Przechowywanie. Nazwa punktu końcowego Podaj unikalną nazwę dla tego punktu końcowego. Kontener usługi Azure Storage Wybierz Wybierz kontener. Postępuj zgodnie z instrukcjami, aby wybrać konto magazynowe i kontener, które utworzyłeś w poprzedniej sekcji. Encoding Wybierz JSON. Jeśli to pole jest wyszarzone, oznacza to, że region twojego konta magazynowego nie obsługuje JSON. W takim razie kontynuuj z domyślnym AVRO.
Zaakceptuj domyślne wartości dla pozostałych parametrów i wybierz Utwórz + dalej.
Na karcie Trasa podaj następujące informacje, aby utworzyć trasę, która wskazuje na utworzony punkt końcowy Storage:
Parameter Wartość Name Utwórz nazwę dla swojej trasy. Źródło danych Zweryfikuj, czy Device Telemetry Messages jest wybrana z listy rozwijanej. Włącz trasę Sprawdź, czy to pole jest zaznaczone. Zapytanie dotyczące routingu Wprowadź level="storage"jako ciąg zapytania.
Wybierz Utwórz + pomiń wzbogacenia.
Wyświetl przekierowane wiadomości
Po utworzeniu trasy w usłudze IoT Hub i włączeniu jej natychmiast rozpocznie kierowanie komunikatów spełniających warunek zapytania do punktu końcowego magazynu.
Monitoruj wbudowany punkt końcowy za pomocą IoT Explorer
Wróć do sesji usługi IoT Explorer na komputerze deweloperskim. Pamiętaj, że IoT Explorer monitoruje wbudowany punkt końcowy dla Twojego centrum IoT. Oznacza to, że teraz powinny być widoczne wyłącznie komunikaty, które nie są kierowane przez niestandardową trasę, którą stworzyliśmy.
Uruchom próbkę ponownie, wykonując kod. Obserwuj komunikaty przychodzące przez chwilę i powinieneś widzieć tylko te komunikaty, w których level jest ustawione na normal lub critical.
Wyświetlaj wiadomości w kontenerze pamięci masowej.
Zweryfikuj, czy wiadomości docierają do kontenera magazynowego.
Na portalu Azure przejdź do swojego konta przechowywania.
Wybierz Kontenery z sekcji Magazyn danych w menu.
Wybierz kontener, który utworzyłeś do tego samouczka.
Powinien być folder o nazwie Twojego centrum IoT. Przeglądaj strukturę plików, aż dotrzesz do pliku .json.
Wybierz plik JSON, a następnie wybierz Pobierz, aby pobrać plik JSON. Upewnij się, że plik zawiera wiadomości z Twojego urządzenia, które mają właściwość
levelustawioną nastorage.Przestań uruchamiać próbkę.
Wyczyść zasoby
Jeśli chcesz usunąć wszystkie zasoby Azure użyte w tym samouczku, usuń grupę zasobów. Ta akcja usuwa wszystkie zasoby znajdujące się w grupie. Jeśli nie chcesz usuwać całej grupy zasobów, użyj portalu Azure, aby zlokalizować i usunąć poszczególne zasoby.
Jeśli zamierzasz kontynuować następny samouczek, zachowaj zasoby, które tutaj stworzyłeś.
- W portalu Azure przejdź do grupy zasobów, która zawiera IoT hub i konto magazynu na potrzeby tego samouczka.
- Przejrzyj wszystkie zasoby znajdujące się w grupie zasobów, aby określić, które z nich chcesz uporządkować.
- Jeśli chcesz usunąć wszystkie zasoby, wybierz Usuń grupę zasobów.
- Jeśli chcesz usunąć tylko niektóre zasoby, użyj pól wyboru obok nazwy każdego zasobu, aby wybrać te, które chcesz usunąć. Następnie wybierz Usuń.
Następne kroki
W tym samouczku dowiesz się, jak utworzyć niestandardowy punkt końcowy dla zasobu Azure, a następnie jak stworzyć trasę do przesyłania wiadomości z urządzeń do tego punktu końcowego. Przejdź do następnego samouczka, aby dowiedzieć się, jak wzbogacić komunikaty o dodatkowe dane, które mogą być użyte do uproszczenia dalszego przetwarzania.