Eseguire il mapping dei dati di telemetria in ingresso a IoT Central

Il mapping dei dati consente di trasformare i dati di telemetria dei dispositivi complessi in dati strutturati all'interno di IoT Central. Per ognuno dei dispositivi è possibile eseguire il mapping di un percorso JSON specifico nel messaggio di telemetria del dispositivo a un alias. Un alias è un nome descrittivo per la destinazione a cui si esegue il mapping. IoT Central usa i mapping per trasformare i dati di telemetria nel modo in IoT Central. È possibile usare i dati di telemetria mappati a:

  • Creare modelli di dispositivo e esperienze di gestione dei dispositivi in IoT Central.
  • Normalizzare i dati di telemetria da dispositivi diversi eseguendo il mapping dei percorsi JSON in più dispositivi a un alias comune.
  • Esportare in destinazioni esterne a IoT Central.

Diagramma che riepiloga il processo di mapping in IoT Central.

Il video seguente illustra il processo di mapping dei dati:

Eseguire il mapping dei dati di telemetria per il dispositivo

Un mapping usa un'espressione JSONPath per identificare il valore in un messaggio di telemetria in ingresso per eseguire il mapping a un alias.

Un'espressione JSONPath inizia con il carattere, che fa riferimento all'elemento $ radice del messaggio. L'oggetto $ è seguito da una sequenza di elementi figlio separati usando parentesi quadre. Ad esempio:

$["messages"]["tmp"]

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

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

IoT Central usa un subset della sintassi delle espressioni JSONPath:

  • Ogni segmento può essere solo un numero non negativo o una stringa racchiusa tra virgolette doppie.
  • Un segmento non può contenere barre rovesciata, parentesi quadre o virgolette doppie.
  • Un percorso JSON non può superare i 1.000 caratteri.

Per creare un mapping nell'applicazione IoT Central, scegliere una delle opzioni seguenti per passare al pannello Dati mappa :

  • Da qualsiasi pagina del dispositivo selezionare Gestisci dati mappa dispositivi>:

    Screenshot che mostra la voce di menu **Mappa dati** .

  • Dalla visualizzazione Dati non elaborati per il dispositivo espandere qualsiasi messaggio di telemetria, passare il puntatore del mouse su un percorso e selezionare Aggiungi alias. Il pannello dati Mappa viene aperto con l'espressione JSONPath copiata nel campo percorso JSON :

    Screenshot che mostra l'opzione **Aggiungi alias** nella visualizzazione **Dati non elaborati**.

Il lato sinistro del pannello dati Mappa mostra il messaggio più recente dal dispositivo. Passare il puntatore del mouse su qualsiasi parte dei dati e selezionare Aggiungi alias. L'espressione JSONPath viene copiata nel percorso JSON. Aggiungere un nome alias senza più di 64 caratteri. Non è possibile usare l'alias per fare riferimento a un campo in un oggetto complesso definito nel modello di dispositivo.

Aggiungere il numero di mapping necessari e quindi selezionare Salva:

Screenshot della visualizzazione **Mappa dati** che mostra il percorso e l'alias Json.

Per un determinato dispositivo:

  • Nessun mapping può avere lo stesso percorso JSON.
  • Nessun mapping può avere lo stesso alias.

Suggerimento

Potrebbe essere necessario attendere diversi minuti per il dispositivo per inviare un messaggio di telemetria da visualizzare nel pannello a sinistra. Se nel pannello sinistro non sono ancora presenti dati, è possibile immettere manualmente un'espressione JSONPath nel campo percorso JSON .

Per verificare che IoT Central stia mappando i dati di telemetria, passare alla visualizzazione dati non elaborati per il dispositivo e controllare la _mappeddata sezione:

Screenshot che mostra la sezione dati mappata in un messaggio nella visualizzazione **Dati non elaborati**.

Se i dati mappati non vengono visualizzati più volte dopo l'aggiornamento dei dati non elaborati, verificare che l'espressione JSONPath usata corrisponda alla struttura del messaggio di telemetria.

Per i dispositivi IoT Edge, il mapping dei dati si applica ai dati di telemetria da tutti i moduli e l'hub IoT Edge. Non è possibile applicare mapping a un modulo di IoT Edge di Azure specifico.

Per i dispositivi assegnati a un modello di dispositivo, non è possibile eseguire il mapping dei dati per i componenti o le interfacce ereditate. Tuttavia, è possibile eseguire il mapping di tutti i dati dal dispositivo prima di assegnarlo a un modello di dispositivo.

Gestire i mapping

Per visualizzare, modificare o eliminare mapping, passare alla pagina Alias mappati . Selezionare un mapping per modificarlo o eliminarlo. È possibile selezionare più mapping ed eliminarli contemporaneamente:

Screenshot che mostra la visualizzazione **Alias mappati** con i pulsanti modifica ed eliminazione.

Per impostazione predefinita, le esportazioni di dati da IoT Central includono dati mappati. Per escludere i dati mappati, usare una trasformazione dei dati nell'esportazione dei dati.

Eseguire il mapping dei dati di telemetria non modellati

È possibile eseguire il mapping dei dati di telemetria non modellati, inclusi i dati di telemetria dai componenti nonmodelli. Ad esempio, dato i dati di telemetria definiti nel componente radice e i workingSettemperature dati di telemetria definiti in un componente termostato illustrati nell'esempio seguente:

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

È possibile eseguire il mapping di questi dati di telemetria usando le definizioni di mapping seguenti:

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

Nota

Non includere il nome del componente nella definizione di mapping.

I risultati di queste regole di mapping sono simili agli esempi seguenti:

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

È ora possibile usare gli alias mappati per visualizzare i dati di telemetria in un grafico o in un dashboard. È anche possibile usare gli alias mappati quando si esportano i dati di telemetria.

Passaggi successivi

Dopo aver appreso come eseguire il mapping dei dati per il dispositivo, un passaggio successivo suggerito consiste nell'apprendere come usare Esplora dati per analizzare i dati.