Samouczek: wdrażanie usługi Azure Stream Analytics jako modułu usługi IoT Edge
Dotyczy: IoT Edge 1.5
IoT Edge 1.4
Ważne
Obsługiwane są wersje usługi IoT Edge 1.5 LTS i IoT Edge 1.4 LTS. Usługa IoT Edge 1.4 LTS kończy się 12 listopada 2024 r. Jeśli korzystasz z wcześniejszej wersji, zobacz aktualizację Azure IoT Edge.
W tym samouczku utworzysz zadanie usługi Azure Stream Analytics w witrynie Azure Portal, a następnie wdrożysz je jako moduł usługi IoT Edge bez dodatkowego kodu.
Dowiedz się, jak odbywa się:
- Tworzenie zadania usługi Azure Stream Analytics w celu przetwarzania danych na urządzeniu brzegowym.
- Łączenie nowego zadania usługi Azure Stream Analytics z innymi modułami usługi IoT Edge.
- Wdrażanie zadania usługi Azure Stream Analytics na urządzeniu usługi IoT Edge z poziomu witryny Azure Portal.
Moduł usługi Stream Analytics w tym samouczku oblicza średnią temperaturę w ruchomym przedziale 30 sekund. Jeśli średnia wyniesie 70 stopni, moduł wyśle dla urządzenia alert o konieczności podjęcia działania. W tym przypadku tym działaniem jest zresetowanie symulowanego czujnika temperatury. W środowisku produkcyjnym możesz użyć tej funkcji na przykład do wyłączenia maszyny lub podjęcia działań zapobiegawczych, gdy temperatura osiągnie niebezpieczną wartość.
Dlaczego warto używać usługi Azure Stream Analytics w usłudze IoT Edge?
Wiele rozwiązań IoT korzysta z usług analitycznych, aby uzyskać szczegółowe informacje o danych dostarczanych do chmury z urządzeń IoT. Dzięki usłudze Azure IoT Edge możesz zastosować logikę usługi Azure Stream Analytics, wdrażając ją bezpośrednio na urządzeniu. Dzięki przetwarzaniu potoków danych telemetrycznych na urządzeniu brzegowym możesz zmniejszyć ilość przekazywanych danych i skrócić czas reakcji na szczegółowe informacje umożliwiające podejmowanie działań. Usługi Azure IoT Edge i Azure Stream Analytics są zintegrowane w celu uproszczenia tworzenia obciążeń.
Usługa Azure Stream Analytics udostępnia bogato ustrukturyzowaną składnię zapytań na potrzeby analizy danych zarówno w chmurze, jak i na urządzeniach usługi IoT Edge. Aby uzyskać więcej informacji, zobacz dokumentację usługi Azure Stream Analytics.
Wymagania wstępne
Jeśli nie masz subskrypcji platformy Azure, przed rozpoczęciem utwórz bezpłatne konto platformy Azure.
Urządzenie usługi Azure IoT Edge.
Maszynę wirtualną platformy Azure można użyć jako urządzenia usługi IoT Edge, wykonując kroki opisane w przewodniku Szybki start dla urządzeń z systemem Linux lub Windows.
Usługa IoT Hub w warstwie Bezpłatna lub Standardowa na platformie Azure.
Tworzenie zadania usługi Azure Stream Analytics
W tej sekcji utworzysz zadanie usługi Azure Stream Analytics, które wykonuje następujące czynności:
- Odbieranie danych z urządzenia usługi IoT Edge.
- Wykonywanie zapytań dotyczących danych telemetrycznych dla wartości spoza określonego zakresu.
- Wykonaj akcję na urządzeniu usługi IoT Edge na podstawie wyników zapytania.
Tworzenie konta magazynu
W przypadku tworzenia zadania usługi Azure Stream Analytics do uruchamiania na urządzeniu usługi IoT Edge musi być ono przechowywane w sposób umożliwiający wywoływanie go z urządzenia. Możesz użyć istniejącego konta usługi Azure Storage lub utworzyć nowe.
W witrynie Azure Portal przejdź do sekcji Tworzenie konta magazynu magazynu> zasobów.>
Podaj następujące wartości, aby utworzyć konto magazynu:
Pole Wartość Subskrypcja Wybierz tę samą subskrypcję co używana dla centrum IoT Hub. Grupa zasobów Zalecamy używanie tej samej grupy zasobów dla wszystkich zasobów testowych na potrzeby przewodników Szybki start i samouczków usługi IoT Edge. Na przykład IoTEdgeResources. Nazwisko Wprowadź unikatową nazwę konta magazynu. Lokalizacja Wybierz bliską lokalizację. Zachowaj wartości domyślne dla innych pól i wybierz pozycję Przejrzyj i utwórz.
Przejrzyj ustawienia, a następnie wybierz pozycję Utwórz.
Tworzenie nowego zadania
W witrynie Azure Portal wybierz pozycję:
- Utwórz zasób
- Internet rzeczy z menu po lewej stronie
- Wpisz stream analytics na pasku wyszukiwania, aby znaleźć ją w witrynie Marketplace
- Wybierz pozycję Utwórz, a następnie zadanie usługi Stream Analytics z menu rozwijanego
Podaj następujące wartości, aby utworzyć nowe zadanie usługi Stream Analytics:
Pole Wartość Nazwisko Podaj nazwę zadania. Na przykład IoTEdgeJob Subskrypcja Wybierz tę samą subskrypcję co używana dla centrum IoT Hub. Grupa zasobów Zalecamy używanie tej samej grupy zasobów dla wszystkich zasobów testowych tworzonych podczas przewodników Szybki start i samouczków usługi IoT Edge. Na przykład zasób o nazwie IoTEdgeResources. Region (Region) Wybierz bliską lokalizację. Środowisko hostingu Wybierz pozycję Edge. Ta opcja oznacza, że wdrożenie przechodzi do urządzenia usługi IoT Edge zamiast hostowanego w chmurze. Wybierz pozycję Przejrzyj i utwórz.
Potwierdź opcje, a następnie wybierz pozycję Utwórz.
Konfigurowanie zadania
Po utworzeniu zadania usługi Stream Analytics w witrynie Azure Portal możesz skonfigurować je przy użyciu danych wejściowych, danych wyjściowych i zapytania do uruchamiania na danych, które przechodzą.
Ta sekcja tworzy zadanie, które odbiera dane temperatury z urządzenia usługi IoT Edge. Analizuje te dane w kroczącym, 30-sekundowym oknie. Jeśli średnia temperatura w tym oknie przekroczy 70 stopni, alert zostanie wysłany do urządzenia usługi IoT Edge.
Uwaga
Dokładnie określasz, skąd pochodzą dane i przechodzisz do następnej sekcji, Skonfiguruj ustawienia usługi IoT Edge podczas wdrażania zadania.
Ustawianie danych wejściowych i wyjściowych
Przejdź do zadania usługi Stream Analytics w witrynie Azure Portal.
W obszarze Topologia zadania wybierz pozycję Dane wejściowe , a następnie Dodaj dane wejściowe.
Wybierz pozycję Edge Hub z listy rozwijanej.
Jeśli na liście nie widzisz opcji Centrum usługi Edge, być może utworzono zadanie usługi Stream Analytics jako zadanie hostowane w chmurze. Spróbuj utworzyć nowe zadanie i pamiętaj, aby wybrać pozycję Edge jako środowisko hostingu.
W okienku Nowe dane wejściowe wprowadź wartość temperature jako alias wejściowy.
Pozostaw wartości domyślne dla pozostałych pól, a następnie wybierz pozycję Zapisz.
W obszarze Topologia zadania otwórz pozycję Dane wyjściowe, a następnie wybierz pozycję Dodaj.
Wybierz pozycję Edge Hub z listy rozwijanej.
W okienku Nowe dane wyjściowe wpisz alert jako alias danych wyjściowych.
Pozostaw wartości domyślne dla pozostałych pól, a następnie wybierz pozycję Zapisz.
Tworzenie zapytania
W obszarze Topologia zadania wybierz pozycję Zapytanie.
Zastąp tekst domyślny poniższym zapytaniem.
SELECT 'reset' AS command INTO alert FROM temperature TIMESTAMP BY timeCreated GROUP BY TumblingWindow(second,30) HAVING Avg(machine.temperature) > 70
W tym zapytaniu kod SQL wysyła polecenie resetu do danych wyjściowych alertu, jeśli średnia temperatura maszyny w 30-sekundowym oknie osiągnie 70 stopni. Polecenie reset zostało wstępnie zaprogramowane w czujniku jako akcja, którą można podjąć.
Wybierz pozycję Zapisz zapytanie.
Konfigurowanie ustawień usługi IoT Edge
Aby przygotować zadanie usługi Stream Analytics do wdrożenia na urządzeniu usługi IoT Edge, musisz skojarzyć zadanie usługi Azure Stream Analytics z kontem magazynu. Podczas wdrażania zadania definicja zadania jest eksportowana do konta magazynu w postaci kontenera.
W usłudze Stream Analytics w menu Ustawienia wybierz pozycję Ustawienia konta magazynu.
Wybierz opcję Wybierz usługę Blob Storage/ADLS Gen 2 z subskrypcji .
Konto usługi Azure Storage jest automatycznie wyświetlane na stronie. Jeśli go nie widzisz, upewnij się, że utworzono magazyn. Możesz też wybrać inny magazyn niż magazyn wymieniony w polu Konto magazynu, wybierz go z menu rozwijanego.
Wybierz pozycję Zapisz, jeśli musisz wprowadzić jakiekolwiek zmiany.
Wdrażanie zadania
Teraz możesz przystąpić do wdrażania zadania usługi Azure Stream Analytics na urządzeniu usługi IoT Edge.
W tej sekcji użyjesz kreatora Utwórz moduły w witrynie Azure Portal, aby utworzyć manifest wdrożenia. Manifest wdrożenia to plik JSON, który opisuje wszystkie moduły, które są wdrażane na urządzeniu. Manifest pokazuje również rejestry kontenerów, które przechowują obrazy modułów, sposób zarządzania modułami i sposób komunikowania się modułów ze sobą. Urządzenie usługi IoT Edge pobiera manifest wdrożenia z usługi IoT Hub, a następnie używa zawartych w nim informacji, aby wdrożyć i skonfigurować wszystkie przypisane moduły.
W tym samouczku wdrażane są dwa moduły. Pierwszy to SimulatedTemperatureSensor, który jest modułem symulujący czujnik temperatury i wilgotności. Drugi to zadanie usługi Stream Analytics. Moduł czujnika udostępnia strumień danych analizowanych przez zapytanie zadania.
W witrynie Azure Portal przejdź do centrum IoT Hub.
Wybierz pozycję Urządzenia w menu Zarządzanie urządzeniami , a następnie wybierz urządzenie usługi IoT Edge, aby je otworzyć.
Wybierz opcję Ustaw moduły.
Jeśli wcześniej wdrożono moduł SimulatedTemperatureSensor na tym urządzeniu, może zostać automatycznie wypełniane. Jeśli tak nie jest, dodaj moduł, wykonując następujące czynności:
- Wybierz pozycję + Dodaj i wybierz pozycję Moduł usługi IoT Edge.
- Jako nazwę wpisz SimulatedTemperatureSensor.
- Dla identyfikatora URI obrazu wprowadź mcr.microsoft.com/azureiotedge-simulated-temperature-sensor:1.5.
- Pozostaw inne ustawienia domyślne, a następnie wybierz pozycję Dodaj.
Dodaj zadanie usługi Azure Stream Analytics dla usługi IoT Edge, wykonując następujące kroki:
- Wybierz pozycję + Dodaj i wybierz pozycję Moduł usługi Azure Stream Analytics.
- Wybierz subskrypcję i utworzone wcześniej zadanie usługi Azure Stream Analytics dla usługi IoT Edge.
- Wybierz pozycję Zapisz.
Po zapisaniu zmian szczegóły zadania usługi Stream Analytics zostaną opublikowane w utworzonym kontenerze magazynu.
Po zakończeniu wdrażania dodawania usługi Stream Analytics upewnij się, że na stronie Ustawianie modułów są wyświetlane dwa nowe moduły .
Wybierz pozycję Przejrzyj i utwórz. Zostanie wyświetlony manifest wdrożenia.
Wybierz pozycję Utwórz.
Na stronie Ustawianie modułów urządzenia po kilku minutach powinny zostać wyświetlone i uruchomione moduły. Odśwież stronę, jeśli nie widzisz modułów lub zaczekaj kilka minut, a następnie odśwież ją ponownie.
Omówienie dwóch nowych modułów
Na karcie Ustawianie modułów urządzenia wybierz nazwę modułu usługi Stream Analytics, aby otworzyć stronę Aktualizowanie modułu usługi IoT Edge. W tym miejscu możesz zaktualizować ustawienia.
Karta Ustawienia zawiera identyfikator URI obrazu wskazujący standardowy obraz usługi Azure Stream Analytics. Ten pojedynczy obraz jest używany dla każdego modułu usługi Stream Analytics, który jest wdrażany na urządzeniu usługi IoT Edge.
Karta Ustawienia bliźniaczej reprezentacji modułu zawiera kod JSON definiujący właściwość usługi Azure Stream Analytics (ASA) o nazwie ASAJobInfo. Wartość tej właściwości wskazuje definicję zadania w kontenerze magazynu. Ta właściwość służy do konfigurowania obrazu usługi Stream Analytics z określonymi szczegółami zadania.
Domyślnie moduł usługi Stream Analytics ma taką samą nazwę jak zadanie, na podstawie których jest ono oparte. Jeśli chcesz, możesz zmienić nazwę modułu na tej stronie, ale nie jest to konieczne.
Wybierz pozycję Zastosuj , jeśli wprowadzono zmiany lub Anuluj , jeśli nie wprowadzono żadnych zmian.
Przypisywanie tras do modułów
Na stronie Ustawianie modułów na urządzeniu:nazwa urządzenia> wybierz pozycję Dalej: Trasy.<
Na karcie Trasy zdefiniujesz sposób przekazywania komunikatów między modułami a usługą IoT Hub. Komunikaty są tworzone przy użyciu par nazw i wartości.
Dodaj nazwy tras i wartości z parami pokazanymi w poniższej tabeli. Zastąp wystąpienia nazwą
{moduleName}
modułu usługi Azure Stream Analytics. Ten moduł powinien mieć taką samą nazwę, jaką widzisz na liście modułów urządzenia na stronie Ustawianie modułów , jak pokazano w witrynie Azure Portal.Nazwa/nazwisko Wartość telemetriaToCloud FROM /messages/modules/SimulatedTemperatureSensor/* INTO $upstream
alertsToCloud FROM /messages/modules/{moduleName}/* INTO $upstream
alertsToReset FROM /messages/modules/{moduleName}/* INTO BrokeredEndpoint("/modules/SimulatedTemperatureSensor/inputs/control")
telemetriaToAsa FROM /messages/modules/SimulatedTemperatureSensor/* INTO BrokeredEndpoint("/modules/{moduleName}/inputs/temperature")
Trasy zadeklarowane w tym miejscu definiują przepływ danych za pośrednictwem urządzenia usługi IoT Edge. Dane telemetryczne z elementu SimulatedTemperatureSensor są wysyłane do usługi IoT Hub i do danych wejściowych temperatury skonfigurowanych w zadaniu usługi Stream Analytics. Komunikaty wyjściowe alertu są wysyłane do usługi IoT Hub i do modułu SimulatedTemperatureSensor w celu wyzwolenia polecenia resetowania.
Wybierz opcję Dalej: przejrzyj + utwórz.
Na karcie Przeglądanie + tworzenie można zobaczyć, jak informacje podane w kreatorze są konwertowane na manifest wdrożenia JSON.
Po zakończeniu przeglądania manifestu wybierz pozycję Utwórz , aby zakończyć ustawianie modułu.
Wyświetlanie danych
Teraz możesz przejść do urządzenia usługi IoT Edge, aby zobaczyć interakcję między modułem usługi Azure Stream Analytics i modułem SimulatedTemperatureSensor.
Uwaga
Jeśli używasz maszyny wirtualnej dla urządzenia, możesz użyć usługi Azure Cloud Shell , aby uzyskać bezpośredni dostęp do wszystkich uwierzytelnionych usług platformy Azure.
Sprawdź, czy wszystkie moduły działają w aplikacji Docker:
iotedge list
Wyświetl wszystkie dzienniki systemu i dane metryk. Zastąp element {moduleName} nazwą modułu usługi Azure Stream Analytics:
iotedge logs -f {moduleName}
Zobacz, jak polecenie reset wpływa na element SimulatedTemperatureSensor, wyświetlając dzienniki czujników:
iotedge logs SimulatedTemperatureSensor
Możesz obserwować stopniową temperaturę maszyny, aż osiągnie 70 stopni przez 30 sekund. Następnie moduł usługi Stream Analytics wywoła reset, a temperatura maszyny spadnie do 21 stopni.
Czyszczenie zasobów
Jeśli zamierzasz przejść do kolejnego zalecanego artykułu, możesz zachować utworzone zasoby oraz konfiguracje i użyć ich ponownie. Możesz także nadal używać tego samego urządzenia usługi IoT Edge jako urządzenia testowego.
W przeciwnym razie możesz usunąć konfiguracje lokalne i zasoby platformy Azure użyte w tym artykule, aby uniknąć naliczania opłat.
Usuwanie zasobów platformy Azure
Usuwanie zasobów i grup zasobów platformy Azure jest nieodwracalne. Uważaj, aby nie usunąć przypadkowo niewłaściwych zasobów lub niewłaściwej grupy zasobów. Jeśli centrum IoT zostało utworzone w istniejącej grupie zasobów zawierającej zasoby, które chcesz zachować, usuń tylko sam zasób centrum IoT, a nie grupę zasobów.
Aby usunąć zasoby:
Zaloguj się do witryny Azure Portal, a następnie wybierz pozycję Grupy zasobów.
Wybierz nazwę grupy zasobów, która zawiera zasoby testowe usługi IoT Edge.
Przejrzyj listę zasobów zawartych w grupie zasobów. Jeśli chcesz usunąć je wszystkie, możesz wybrać pozycję Usuń grupę zasobów. Jeśli chcesz usunąć tylko niektóre z nich, możesz kliknąć poszczególne zasoby, aby usunąć je pojedynczo.
Następne kroki
Podczas pracy z tym samouczkiem skonfigurowano zadanie usługi Azure Stream Analytics służące do analizy danych z urządzenia usługi IoT Edge. Następnie załadowano ten moduł usługi Azure Stream Analytics na urządzeniu usługi IoT Edge w celu przetwarzania i reagowania na wzrost temperatury lokalnie oraz wysyłania zagregowanego strumienia danych do chmury. Aby zobaczyć, jak w usłudze Azure IoT Edge utworzyć więcej rozwiązań dla swojej firmy, przejdź do kolejnych samouczków.