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.

Diagram podsumowujący proces mapowania w usłudze 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>:

    Zrzut ekranu przedstawiający element menu **Mapuj dane**.

  • 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 :

    Zrzut ekranu przedstawiający opcję **Dodaj alias** w widoku **Nieprzetworzone dane**.

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:

Zrzut ekranu przedstawiający widok **Mapuj dane** przedstawiający ścieżkę i alias JSON.

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 :

Zrzut ekranu przedstawiający zamapowane dane w komunikacie w widoku **Nieprzetworzone dane**.

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:

Zrzut ekranu przedstawiający widok **Zamapowane aliasy** z przyciskami edycji i usuwania.

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.