Mapowanie danych telemetrycznych na ruch przychodzący do usługi IoT Central
Mapowanie danych umożliwia przekształcanie złożonych danych telemetrycznych urządzeń w dane ustrukturyzowane wewnątrz usługi IoT Central. Dla każdego urządzenia można zamapować określoną ścieżkę JSON w komunikacie telemetrii urządzenia na alias. Alias to przyjazna nazwa elementu docelowego, do którego mapujesz. Usługa IoT Central używa mapowań do przekształcania danych telemetrycznych w usłudze IoT Central. Zamapowane dane telemetryczne umożliwiają:
- Tworzenie szablonów urządzeń i środowisk zarządzania urządzeniami w usłudze IoT Central.
- Normalizuj dane telemetryczne z różnych urządzeń, mapując ścieżki JSON na wiele urządzeń na wspólny alias.
- Eksportowanie do miejsc docelowych poza usługą IoT Central.
Poniższy film wideo przeprowadzi Cię przez proces mapowania danych:
Mapowanie telemetrii dla urządzenia
Mapowanie używa wyrażenia JSONPath do identyfikowania wartości w przychodzącym komunikacie telemetrii w celu mapowania na alias.
Wyrażenie JSONPath rozpoczyna się od $
znaku, który odwołuje się do głównego elementu komunikatu. Następuje $
sekwencja elementów podrzędnych oddzielonych nawiasami kwadratowymi. Na przykład:
$["messages"]["tmp"]
$["opcua"]["payload"][0]["value"]
$["Messages"]["Payload"]["nsu=http://microsoft.com/Opc/OpcPlc/;s=FastUInt1"]["Value"]
Usługa IoT Central używa podzestawu składni wyrażenia JSONPath:
- Każdy segment może być liczbą nieujemną lub ciągiem ujętym w podwójny cudzysłów.
- Segment nie może zawierać ukośnika odwrotnego, nawiasu kwadratowego ani podwójnych cudzysłowów.
- Ścieżka JSON nie może przekraczać 1000 znaków.
Aby utworzyć mapowanie w aplikacji usługi IoT Central, wybierz jedną z następujących opcji, aby przejść do panelu Mapowanie danych :
Na dowolnej stronie urządzenia wybierz pozycję Zarządzaj danymi mapy urządzenia>:
W widoku Nieprzetworzone dane dla urządzenia rozwiń dowolny komunikat telemetrii, umieść wskaźnik myszy na ścieżce i wybierz pozycję Dodaj alias. Zostanie otwarty panel Mapowanie danych z wyrażeniem JSONPath skopiowanymi do pola ścieżki JSON :
Po lewej stronie panelu Dane mapy jest wyświetlany najnowszy komunikat z urządzenia. Zatrzymaj wskaźnik myszy na dowolnej części danych i wybierz pozycję Dodaj alias. Wyrażenie JSONPath jest kopiowane do ścieżki JSON. Dodaj nazwę aliasu z maksymalnie 64 znakami. Nie można użyć aliasu do odwoływania się do pola w obiekcie złożonym zdefiniowanym w szablonie urządzenia.
Dodaj dowolną liczbę mapowań, a następnie wybierz pozycję Zapisz:
Dla danego urządzenia:
- Żadne dwa mapowania nie mogą mieć tej samej ścieżki JSON.
- Żadne dwa mapowania nie mogą mieć tego samego aliasu.
Porada
Może być konieczne odczekanie kilku minut, aż urządzenie wyśle komunikat telemetryczny do wyświetlenia w panelu po lewej stronie. Jeśli nadal nie ma danych w panelu po lewej stronie, możesz ręcznie wprowadzić wyrażenie JSONPath w polu ścieżki JSON .
Aby sprawdzić, czy usługa IoT Central mapuje dane telemetryczne, przejdź do widoku Nieprzetworzone dane dla urządzenia i sprawdź sekcję _mappeddata
:
Jeśli dane mapowane nie są widoczne po kilku chwilach odświeżania danych pierwotnych , sprawdź, czy używane wyrażenie JSONPath jest zgodne ze strukturą komunikatu telemetrii.
W przypadku urządzeń IoT Edge mapowanie danych dotyczy danych telemetrycznych ze wszystkich modułów i centrum IoT Edge. Nie można zastosować mapowań do określonego modułu usługi Azure IoT Edge.
W przypadku urządzeń przypisanych do szablonu urządzenia nie można mapować danych dla składników ani dziedziczynych interfejsów. Można jednak mapować dowolne dane z urządzenia przed przypisaniem ich do szablonu urządzenia.
Zarządzanie mapowaniami
Aby wyświetlić, edytować lub usunąć mapowania, przejdź do strony Mapowane aliasy . Wybierz mapowanie, aby je edytować lub usunąć. Możesz wybrać wiele mapowań i usunąć je w tym samym czasie:
Domyślnie eksporty danych z usługi IoT Central obejmują zamapowane dane. Aby wykluczyć zamapowane dane, użyj przekształcenia danych w eksporcie danych.
Mapowanie niemodelowanej telemetrii
Niemodelowane dane telemetryczne można mapować, w tym dane telemetryczne ze składników niemodelowanych. Na przykład, biorąc pod uwagę workingSet
dane telemetryczne zdefiniowane w składniku głównym i temperature
telemetrię zdefiniowaną w składniku termostatu pokazanym w poniższym przykładzie:
{
"_unmodeleddata": {
"workingSet": 74
},
"_eventtype": "Telemetry",
"_timestamp": "2022-07-18T09:22:40.257Z"
}
{
"_unmodeleddata": {
"thermostat2": {
"__t": "c",
"temperature": 44
}
},
"_eventtype": "Telemetry",
"_timestamp": "2022-07-18T09:21:48.69Z"
}
Tę telemetrię można mapować przy użyciu następujących definicji mapowania:
$["workingSet"] ws
$["temperature"] temp
Uwaga
Nie dołączaj nazwy składnika do definicji mapowania.
Wyniki tych reguł mapowania wyglądają podobnie do następujących przykładów:
{
"telemetries": {
"workingSet": 84,
"_mappeddata": {
"ws": 84
}
}
}
{
"_unmodeleddata": {
"thermostat2": {
"__t": "c",
"temperature": 12
},
"_mappeddata": {
"thermostat2": {
"__t": "c",
"temp": 12
}
}
},
"_eventtype": "Telemetry",
"_timestamp": "2022-07-18T09:31:21.088Z"
}
Teraz możesz użyć zamapowanych aliasów do wyświetlania danych telemetrycznych na wykresie lub pulpicie nawigacyjnym. Podczas eksportowania telemetrii można również użyć zamapowanych aliasów.
Następne kroki
Teraz, gdy wiesz już, jak mapować dane dla urządzenia, sugerowanym następnym krokiem jest nauczenie się, jak analizować dane urządzenia za pomocą Eksploratora danych.