Condividi tramite


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

Il mapping dei dati consente di trasformare i dati di telemetria complessi dei dispositivi 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 sta eseguendo 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 per:

  • Creare modelli di dispositivo ed 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.

Suggerimento

Per generare automaticamente un modello di dispositivo da dati di telemetria non modellati, vedere Generare automaticamente un modello di dispositivo.

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 tramite 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 dell'espressione 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 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 dispositivo:

    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. Si apre il pannello Dati mappa 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 tutti i 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 alcuni minuti prima che il dispositivo invii un messaggio di telemetria da visualizzare nel pannello a sinistra. Se non sono ancora presenti dati nel pannello a sinistra, è possibile immettere manualmente un'espressione JSONPath nel campo Percorso JSON.

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

Screenshot che mostra la sezione dati mappati 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 specifico di Azure IoT Edge.

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 assegnarli 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 di 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 da componenti non modellati. Ad esempio, dati i dati di telemetria workingSet definiti nel componente radice e i dati di telemetria temperature 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 durante l'esportazione dei dati di telemetria.