Delen via


Telemetrie toewijzen aan inkomend verkeer naar IoT Central

Met gegevenstoewijzing kunt u complexe apparaattelemetrie transformeren in gestructureerde gegevens in IoT Central. Voor elk van uw apparaten kunt u een specifiek JSON-pad in het telemetriebericht van het apparaat toewijzen aan een alias. Een alias is een beschrijvende naam voor het doel waaraan u de toewijzing wilt toewijzen. IoT Central gebruikt de toewijzingen om telemetrie te transformeren op weg naar IoT Central. U kunt de toegewezen telemetrie gebruiken om het volgende te doen:

  • Apparaatsjablonen en apparaatbeheerervaringen maken in IoT Central.
  • Normaliseer telemetrie van verschillende apparaten door JSON-paden op meerdere apparaten toe te passen aan een algemene alias.
  • Exporteren naar bestemmingen buiten IoT Central.

Tip

Als u een apparaatsjabloon automatisch wilt genereren op basis van niet-gemodelleerde telemetrie, raadpleegt u Automatisch een apparaatsjabloon genereren.

Diagram met een overzicht van het toewijzingsproces in IoT Central.

In de volgende video wordt u begeleid bij het proces voor gegevenstoewijzing:

Telemetrie toewijzen voor uw apparaat

Een toewijzing maakt gebruik van een JSONPath-expressie om de waarde in een binnenkomend telemetriebericht te identificeren om aan een alias toe te wijzen.

Een JSONPath-expressie begint met het $ teken, dat verwijst naar het hoofdelement van het bericht. Dit $ wordt gevolgd door een reeks onderliggende elementen, gescheiden door vierkante haken. Voorbeeld:

$["messages"]["tmp"]

$["opcua"]["payload"][0]["value"]

$["Messages"]["Payload"]["nsu=http://microsoft.com/Opc/OpcPlc/;s=FastUInt1"]["Value"]

IoT Central maakt gebruik van een subset van de syntaxis van de JSONPath-expressie:

  • Elk segment kan alleen een niet-negatief getal of een tekenreeks tussen dubbele aanhalingstekens zijn.
  • Een segment mag geen backslash, vierkante haak of dubbele aanhalingstekens bevatten.
  • Een JSON-pad mag niet langer zijn dan 1000 tekens.

Als u een toewijzing wilt maken in uw IoT Central-toepassing, kiest u een van de volgende opties om naar het deelvenster Kaartgegevens te navigeren:

  • Selecteer op een apparaatpagina apparaattoewijzingsgegevens >beheren:

    Schermopname van het menu-item **Kaartgegevens**.

  • Vouw in de weergave Onbewerkte gegevens voor uw apparaat een telemetriebericht uit, beweeg de muisaanwijzer over een pad en selecteer Alias toevoegen. Het deelvenster Kaartgegevens wordt geopend met de JSONPath-expressie die is gekopieerd naar het veld JSON-pad :

    Schermopname van de optie **Alias toevoegen** in de weergave **Onbewerkte gegevens**.

Aan de linkerkant van het deelvenster Kaartgegevens ziet u het meest recente bericht van uw apparaat. Beweeg de muisaanwijzer over een deel van de gegevens en selecteer Alias toevoegen. De JSONPath-expressie wordt gekopieerd naar het JSON-pad. Voeg een aliasnaam toe met maximaal 64 tekens. U kunt de alias niet gebruiken om te verwijzen naar een veld in een complex object dat is gedefinieerd in de apparaatsjabloon.

Voeg zoveel toewijzingen toe als u nodig hebt en selecteer Opslaan:

Schermopname van de weergave **Kaartgegevens** met het Json-pad en de alias.

Voor een bepaald apparaat:

  • Er kunnen geen twee toewijzingen hetzelfde JSON-pad hebben.
  • Er kunnen geen twee toewijzingen dezelfde alias hebben.

Tip

Mogelijk moet u enkele minuten wachten totdat uw apparaat een telemetriebericht verzendt dat in het linkerdeelvenster wordt weergegeven. Als er nog steeds geen gegevens in het linkerdeelvenster staan, kunt u handmatig een JSONPath-expressie invoeren in het veld JSON-pad .

Als u wilt controleren of IoT Central de telemetrie toedeelt, gaat u naar de onbewerkte gegevensweergave voor uw apparaat en controleert u de _mappeddata sectie:

Schermopname van de sectie toegewezen gegevens in een bericht in de weergave **Onbewerkte gegevens**.

Als u de toegewezen gegevens niet ziet nadat u de Onbewerkte gegevens meerdere keren hebt vernieuwd, controleert u of de JSONPath-expressie die u gebruikt overeenkomt met de structuur van het telemetriebericht.

Voor IoT Edge-apparaten is de gegevenstoewijzing van toepassing op de telemetrie van alle IoT Edge-modules en -hubs. U kunt geen toewijzingen toepassen op een specifieke Azure IoT Edge-module.

Voor apparaten die zijn toegewezen aan een apparaatsjabloon, kunt u geen gegevens toewijzen aan onderdelen of overgenomen interfaces. U kunt echter alle gegevens van uw apparaat toewijzen voordat u deze toewijst aan een apparaatsjabloon.

Toewijzingen beheren

Als u toewijzingen wilt weergeven, bewerken of verwijderen, gaat u naar de pagina Toegewezen aliassen . Selecteer een toewijzing om deze te bewerken of te verwijderen. U kunt meerdere toewijzingen selecteren en ze tegelijkertijd verwijderen:

Schermopname van de weergave **Toegewezen aliassen** met de knoppen bewerken en verwijderen.

Gegevensexports uit IoT Central bevatten standaard toegewezen gegevens. Als u toegewezen gegevens wilt uitsluiten, gebruikt u een gegevenstransformatie in uw gegevensexport.

Niet-gemodeleerde telemetrie toewijzen

U kunt niet-gemodelleerde telemetrie toewijzen, inclusief telemetrie van niet-gemodelleerde onderdelen. Bijvoorbeeld, gezien de workingSet telemetrie die is gedefinieerd in het hoofdonderdeel en de telemetrie die temperature is gedefinieerd in een thermostaatonderdeel dat in het volgende voorbeeld wordt weergegeven:

{
  "_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"
}

U kunt deze telemetrie toewijzen met behulp van de volgende toewijzingsdefinities:

  • $["workingSet"] ws
  • $["temperature"] temp

Notitie

Neem de onderdeelnaam niet op in de toewijzingsdefinitie.

De resultaten van deze toewijzingsregels zien eruit als de volgende voorbeelden:

{
  "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"
}

U kunt nu de toegewezen aliassen gebruiken om telemetrie weer te geven in een grafiek of dashboard. U kunt ook de toegewezen aliassen gebruiken wanneer u telemetrie exporteert.