Udostępnij za pośrednictwem


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ć konkretną ś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 drodze do usługi IoT Central. Zamapowane dane telemetryczne umożliwiają:

  • Tworzenie szablonów urządzeń i środowisk zarządzania urządzeniami w usłudze IoT Central.
  • Normalizacja danych telemetrycznych z różnych urządzeń przez mapowanie ścieżek JSON na wielu urządzeniach na wspólny alias.
  • Eksportowanie do miejsc docelowych poza usługą IoT Central.

Napiwek

Jeśli chcesz automatycznie wygenerować szablon urządzenia z niemodelowanej telemetrii, zobacz Autogeneruj szablon urządzenia.

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 zaczyna się od $ znaku, który odwołuje się do elementu głównego 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ętą 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 Dane mapy 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 bez więcej niż 64 znaków. Nie można użyć aliasu do odwoływania się do pola w złożonym obiekcie zdefiniowanym w szablonie urządzenia.

Dodaj dowolną liczbę mapowań, a następnie wybierz pozycję Zapisz:

Zrzut ekranu przedstawiający widok **Dane mapy** 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.

Napiwek

Może być konieczne odczekanie kilku minut, zanim urządzenie wyśle komunikat telemetrii 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 sekcji 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ń usługi IoT Edge mapowanie danych dotyczy danych telemetrycznych ze wszystkich modułów i centrum usługi 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 dziedziczone interfejsy. 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 go 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 z niemodelowanych składników. 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 danych telemetrycznych można również użyć zamapowanych aliasów.