Esportare dati IoT in destinazioni cloud usando l'esportazione dei dati

Questo articolo descrive come usare l'esportazione dei dati in Azure IoT Central. Usare questa funzionalità per esportare continuamente i dati IoT filtrati e arricchiti dall IoT Central app. L'esportazione dei dati invia le modifiche quasi in tempo reale ad altre parti della soluzione cloud per informazioni dettagliate sul percorso critico, analisi e archiviazione.

Ad esempio, è possibile:

  • Esportare continuamente dati di telemetria, modifiche delle proprietà, connettività dei dispositivi, ciclo di vita del dispositivo e dati del ciclo di vita dei modelli di dispositivo in formato JSON quasi in tempo reale.
  • Filtrare i flussi di dati per esportare i dati che soddisfano condizioni personalizzate.
  • Arricchire i flussi di dati con valori personalizzati e valori di proprietà del dispositivo.
  • Inviare i dati a destinazioni come Hub eventi di Azure, bus di servizio di Azure, Archiviazione BLOB di Azure e webhook.

Suggerimento

Quando si attiva l'esportazione dei dati, si ottengono solo i dati da quel momento in poi. Attualmente non è possibile recuperare i dati per un periodo di tempo in cui l'esportazione dei dati era disattivata. Per mantenere più dati cronologici, attivare l'esportazione dei dati in anticipo.

Prerequisiti

Per usare le funzionalità di esportazione dati, è necessario disporre di un'applicazione V3ed è necessario disporre dell'autorizzazione Esportazione dati.

Se si ha un'applicazione V2, vedere Eseguire la migrazione dell'applicazione V2 IoT Central alla versione 3.

Configurare la destinazione di esportazione

La destinazione di esportazione deve esistere prima di configurare l'esportazione dei dati. Sono attualmente disponibili i tipi di destinazione seguenti:

  • Hub eventi di Azure
  • Coda del bus di servizio di Azure
  • Argomento del bus di servizio di Azure
  • Archiviazione BLOB di Azure
  • webhook

Creare una destinazione di Hub eventi

Se non si ha uno spazio dei nomi di Hub eventi esistente in cui eseguire l'esportazione, seguire questa procedura:

  1. Creare un nuovo spazio dei nomi di Hub eventi nel portale di Azure. Per altre informazioni, vedere la documentazione di Hub eventi di Azure.

  2. Creare un hub eventi nello spazio dei nomi di Hub eventi. Passare allo spazio dei nomi e selezionare + Hub eventi in alto per creare un'istanza di hub eventi.

  3. Generare una chiave da usare quando si configura l'esportazione dei dati in IoT Central:

    • Selezionare l'istanza dell'hub eventi creata.
    • Selezionare Impostazioni > Criteri di accesso condiviso.
    • Creare una nuova chiave o scegliere una chiave esistente con autorizzazioni di invio.
    • Copiare la stringa di connessione primaria o secondaria. Usare questa stringa di connessione per configurare una nuova destinazione in IoT Central.
    • In alternativa, è possibile generare una stringa di connessione per l'intero spazio dei nomi di Hub eventi:
      1. Passare allo spazio dei nomi di Hub eventi nella portale di Azure.
      2. In Impostazioni selezionare Criteri di accesso condiviso
      3. Creare una nuova chiave o scegliere una chiave esistente con autorizzazioni di invio.
      4. Copiare la stringa di connessione primaria o secondaria.

Creare una coda del bus di servizio o una destinazione dell'argomento

Se non si dispone di uno spazio dei nomi del bus di servizio esistente in cui eseguire l'esportazione, seguire questa procedura:

  1. Creare un nuovo spazio dei nomi del busdi servizio nel portale di Azure . Per altre informazioni, vedere la documentazione del bus di servizio di Azure.

  2. Per creare una coda o un argomento in cui eseguire l'esportazione, passare allo spazio dei nomi del bus di servizio e selezionare + Coda o + Argomento.

  3. Generare una chiave da usare quando si configura l'esportazione dei dati in IoT Central:

    • Selezionare la coda o l'argomento creato.
    • Selezionare Impostazioni/Criteri di accesso condiviso.
    • Creare una nuova chiave o scegliere una chiave esistente con autorizzazioni di invio.
    • Copiare la stringa di connessione primaria o secondaria. Usare questa stringa di connessione per configurare una nuova destinazione in IoT Central.
    • In alternativa, è possibile generare una stringa di connessione per l'intero spazio dei nomi del bus di servizio:
      1. Passare allo spazio dei nomi del bus di servizio nella portale di Azure.
      2. In Impostazioni selezionare Criteri di accesso condiviso
      3. Creare una nuova chiave o scegliere una chiave esistente con autorizzazioni di invio.
      4. Copiare la stringa di connessione primaria o secondaria.

Creare una Archiviazione BLOB di Azure destinazione

Se non si ha un account di archiviazione di Azure esistente in cui eseguire l'esportazione, seguire questa procedura:

  1. Creare un nuovo account di archiviazione nel portale di Azure. Altre informazioni sulla creazione di nuovi account di archiviazione BLOB di Azure o Azure Data Lake Storage account di archiviazione v2. L'esportazione dati può scrivere dati solo in account di archiviazione che supportano BLOB in blocchi. L'elenco seguente mostra i tipi di account di archiviazione compatibili noti:

    Livello di prestazioni Tipo di account
    Standard per utilizzo generico V2
    Standard per utilizzo generico V1
    Standard Archiviazione BLOB
    Premium Archiviazione BLOB in blocchi
  2. Per creare un contenitore nell'account di archiviazione, passare all'account di archiviazione. In Servizio BLOB selezionare Esplora BLOB. Selezionare + Contenitore in alto per creare un nuovo contenitore.

  3. Generare una stringa di connessione per l'account di archiviazione accedendo a Impostazioni > chiavi di accesso. Copiare una delle due stringhe di connessione.

Creare un endpoint webhook

È possibile esportare i dati in un endpoint webhook HTTP disponibile pubblicamente. È possibile creare un endpoint webhook di test usando RequestBin. RequestBin limita la richiesta quando viene raggiunto il limite di richieste:

  1. Aprire RequestBin.
  2. Creare un nuovo RequestBin e copiare l'URL del contenitore. Questo URL viene utilizzato per testare l'esportazione dei dati.

Configurare l'esportazione dei dati

Ora che si dispone di una destinazione in cui esportare i dati, configurare l'esportazione dei dati nell'applicazione IoT Central dati:

  1. Accedere all'applicazione IoT Central.

  2. Nel riquadro sinistro selezionare Esportazione dati.

    Suggerimento

    Se l'esportazione dei dati non viene visualizzata nel riquadro sinistro, non si hanno le autorizzazioni per configurare l'esportazione dei dati nell'app. Chiedere a un amministratore di configurare l'esportazione dei dati.

  3. Selezionare + Nuova esportazione.

  4. Immettere un nome visualizzato per la nuova esportazione e assicurarsi che l'esportazione dei dati sia abilitata.

  5. Scegliere il tipo di dati da esportare. Nella tabella seguente sono elencati i tipi di esportazione dati supportati:

    Tipo di dati Descrizione Formato dati
    Telemetria Esportare i messaggi di telemetria dai dispositivi quasi in tempo reale. Ogni messaggio esportato contiene il contenuto completo del messaggio del dispositivo originale, normalizzato. Formato dei messaggi di telemetria
    Modifiche alle proprietà Esportare le modifiche alle proprietà del dispositivo e del cloud quasi in tempo reale. Per le proprietà del dispositivo di sola lettura, le modifiche ai valori segnalati vengono esportate. Per le proprietà di lettura/scrittura, vengono esportati sia i valori segnalati che i valori desiderati. Formato del messaggio di modifica delle proprietà
    Connettività dei dispositivi Esportare gli eventi connessi e disconnessi del dispositivo. Formato dei messaggi di connettività del dispositivo
    Ciclo di vita del dispositivo Esportare gli eventi registrati, eliminati, di cui è stato effettuato il provisioning, abilitati, disabilitati, displayNameChanged e deviceTemplateChanged. Formato del messaggio delle modifiche al ciclo di vita del dispositivo
    Ciclo di vita del modello di dispositivo Esportare le modifiche del modello di dispositivo pubblicato, incluse le modifiche create, aggiornate ed eliminate. Formato del messaggio di modifica del ciclo di vita del modello di dispositivo
  6. Facoltativamente, aggiungere filtri per ridurre la quantità di dati esportati. Sono disponibili diversi tipi di filtro per ogni tipo di esportazione dei dati:

    Tipo di dati Filtri disponibili
    Telemetria
    • Filtrare per nome del dispositivo, ID dispositivo, modello di dispositivo e se il dispositivo è simulato
    • Filtrare il flusso in modo da contenere solo i dati di telemetria che soddisfano le condizioni di filtro
    • Filtrare il flusso in modo da contenere solo i dati di telemetria dei dispositivi con proprietà corrispondenti alle condizioni di filtro
    • Filtrare il flusso in modo che contenga solo dati di telemetria con proprietà del messaggio che soddisfare la condizione di filtro. Le proprietà dei messaggi (note anche come proprietà dell'applicazione) vengono inviate in un contenitore di coppie chiave-valore in ogni messaggio di telemetria, facoltativamente inviato dai dispositivi che usano gli SDK per dispositivi. Per creare un filtro delle proprietà del messaggio, immettere la chiave della proprietà del messaggio che si sta cercando e specificare una condizione. Vengono esportati solo i messaggi di telemetria con proprietà corrispondenti alla condizione di filtro specificata. Altre informazioni sulle proprietà dell'applicazione sono disponibili nella documentazione dell'hub IoT
    Modifiche alle proprietà
    • Filtrare per nome del dispositivo, ID dispositivo, modello di dispositivo e se il dispositivo è simulato
    • Flusso di filtro per contenere solo le modifiche alle proprietà che soddisfano le condizioni di filtro
    Connettività dei dispositivi
    • Filtrare per nome del dispositivo, ID dispositivo, modello di dispositivo e se il dispositivo è simulato
    • Filtrare il flusso in modo da contenere solo le modifiche dei dispositivi con proprietà corrispondenti alle condizioni di filtro
    Ciclo di vita del dispositivo
    • Filtrare in base al nome del dispositivo, all'ID dispositivo, al modello di dispositivo e se il dispositivo è stato effettuato il provisioning, abilitato o simulato
    • Filtrare il flusso in modo da contenere solo le modifiche dei dispositivi con proprietà corrispondenti alle condizioni di filtro
    Ciclo di vita del modello di dispositivo
    • Filtrare per modello di dispositivo
  7. Facoltativamente, arricchire i messaggi esportati con metadati aggiuntivi della coppia chiave-valore. Per i dati di telemetria, le modifiche alle proprietà, la connettività dei dispositivi e i tipi di esportazione dei dati relativi al ciclo di vita del dispositivo sono disponibili gli arricchimenti seguenti:

    • Stringa personalizzata: aggiunge una stringa statica personalizzata a ogni messaggio. Immettere una chiave e un valore stringa qualsiasi.
    • Proprietà, che aggiunge a ogni messaggio:
      • Metadati del dispositivo, ad esempio il nome del dispositivo, il nome del modello di dispositivo, abilitato, con provisioning e simulato
      • Valore della proprietà segnalata o della proprietà cloud corrente del dispositivo per ogni messaggio. Se il messaggio esportato viene inviato da un dispositivo che non ha la proprietà specificata, il messaggio esportato non ottiene l'arricchimento.
  8. Aggiungere una nuova destinazione o una destinazione già creata. Selezionare il collegamento Crea un nuovo e aggiungere le informazioni seguenti:

    • Nome destinazione: nome visualizzato della destinazione in IoT Central.
    • Tipo di destinazione: scegliere il tipo di destinazione. Se la destinazione non è ancora stata impostata, vedere Configurare la destinazione di esportazione.
    • Ad Hub eventi di Azure, bus di servizio di Azure coda o argomento, incollare la stringa di connessione per la risorsa e immettere il nome dell'hub eventi, della coda o dell'argomento con distinzione tra maiuscole e minuscole, se necessario.
    • Ad Archiviazione BLOB di Azure, incollare la stringa di connessione per la risorsa e immettere il nome del contenitore con distinzione tra maiuscole e minuscole, se necessario.
    • Per Webhook, incollare l'URL di callback per l'endpoint del webhook. Facoltativamente, è possibile configurare l'autorizzazione webhook (OAuth 2.0 e token di autorizzazione) e aggiungere intestazioni personalizzate.
      • Per OAuth 2.0, è supportato solo il flusso di credenziali client. Quando la destinazione viene salvata, IoT Central comunicherà con il provider OAuth per recuperare un token di autorizzazione. Questo token verrà allegato all'intestazione "Authorization" per ogni messaggio inviato a questa destinazione.
      • Per Il token di autorizzazione è possibile specificare un valore di token che verrà collegato direttamente all'intestazione "Authorization" per ogni messaggio inviato a questa destinazione.
    • Selezionare Crea.
  9. Selezionare + Destinazione e scegliere una destinazione dall'elenco a discesa. È possibile aggiungere fino a cinque destinazioni a una singola esportazione.

  10. Al termine della configurazione dell'esportazione, selezionare Salva. Dopo alcuni minuti, i dati vengono visualizzati nelle destinazioni.

Monitorare l'esportazione

Oltre a visualizzare lo stato delle esportazioni in IoT Central, è possibile usare Monitoraggio di Azure per visualizzare la quantità di dati esportati ed eventuali errori di esportazione. È possibile accedere alle metriche di esportazione e integrità dei dispositivi nei grafici nel portale di Azure, con un'API REST o con query in PowerShell o nell'interfaccia della riga di comando di Azure. Attualmente, è possibile monitorare le metriche di esportazione dei dati seguenti in Monitoraggio di Azure:

  • Numero di messaggi in arrivo da esportare prima dell'applicazione dei filtri.
  • Numero di messaggi che passano attraverso i filtri.
  • Numero di messaggi esportati correttamente nelle destinazioni.
  • Numero di errori.

Per altre informazioni, vedere Monitorare l'integrità complessiva di un'IoT Central applicazione.

Destinazioni

Archiviazione BLOB di Azure destinazione

I dati vengono esportati una volta al minuto, con ogni file contenente il batch di modifiche dopo l'esportazione precedente. I dati esportati vengono salvati in formato JSON. I percorsi predefiniti per i dati esportati nell'account di archiviazione sono:

  • Telemetria: {container}/{app-id}/{partition_id}/{AAAA}/{MM}/{dd}/{hh}/{mm}/{filename}
  • Modifiche alle proprietà: {container}/{app-id}/{partition_id}/{AAAA}/{MM}/{dd}/{hh}/{mm}/{filename}

Per esplorare i file esportati nel portale di Azure, passare al file e selezionare Modifica BLOB.

Hub eventi di Azure e bus di servizio di Azure destinazione

I dati vengono esportati quasi in tempo reale. I dati si trova nel corpo del messaggio ed è in formato JSON codificato come UTF-8.

L'elenco delle annotazioni o delle proprietà di sistema del messaggio contiene i campi , , e che hanno gli stessi valori dei campi iotcentral-device-id iotcentral-application-id iotcentral-message-source iotcentral-message-type corrispondenti nel corpo del messaggio.

Destinazione webhook

Per le destinazioni webhook, anche i dati vengono esportati quasi in tempo reale. I dati nel corpo del messaggio sono nello stesso formato di hub eventi e bus di servizio.

Formato di telemetria

Ogni messaggio esportato contiene una forma normalizzata del messaggio completo inviato dal dispositivo nel corpo del messaggio. Il messaggio è in formato JSON e codificato come UTF-8. Le informazioni in ogni messaggio includono:

  • applicationId: ID dell'IoT Central applicazione.
  • messageSource: origine del messaggio, telemetry .
  • deviceId: ID del dispositivo che ha inviato il messaggio di telemetria.
  • schema: nome e versione dello schema del payload.
  • templateId: ID del modello di dispositivo associato al dispositivo.
  • enqueuedTime: ora in cui il messaggio è stato ricevuto da IoT Central.
  • enrichments: eventuali arricchimenti impostati durante l'esportazione.
  • module: modulo IoT Edge che ha inviato il messaggio. Questo campo viene visualizzato solo se il messaggio deriva da un modulo IoT Edge.
  • component: componente che ha inviato il messaggio. Questo campo viene visualizzato solo se le funzionalità inviate nel messaggio sono state modellate come componente nel modello di dispositivo.
  • messageProperties: proprietà aggiuntive inviate dal dispositivo con il messaggio. Queste proprietà vengono talvolta definite come proprietà dell'applicazione. Per altre informazioni, vedere la documentazione dell'hub IoT.

Per Hub eventi e bus di servizio, IoT Central esporta rapidamente un nuovo messaggio dopo aver ricevuto il messaggio da un dispositivo. Nelle proprietà utente (definite anche proprietà dell'applicazione) di ogni messaggio, , iotcentral-device-id iotcentral-application-id e vengono inclusi iotcentral-message-source automaticamente.

Per l'archiviazione BLOB, i messaggi vengono inviati in batch ed esportati una volta al minuto.

L'esempio seguente mostra un messaggio di telemetria esportato:


{
    "applicationId": "1dffa667-9bee-4f16-b243-25ad4151475e",
    "messageSource": "telemetry",
    "deviceId": "1vzb5ghlsg1",
    "schema": "default@v1",
    "templateId": "urn:qugj6vbw5:___qbj_27r",
    "enqueuedTime": "2020-08-05T22:26:55.455Z",
    "telemetry": {
        "Activity": "running",
        "BloodPressure": {
            "Diastolic": 7,
            "Systolic": 71
        },
        "BodyTemperature": 98.73447010562934,
        "HeartRate": 88,
        "HeartRateVariability": 17,
        "RespiratoryRate": 13
    },
    "enrichments": {
      "userSpecifiedKey": "sampleValue"
    },
    "module": "VitalsModule",
    "component": "DeviceComponent",
    "messageProperties": {
      "messageProp": "value"
    }
}

Proprietà del messaggio

I messaggi di telemetria hanno proprietà per i metadati oltre al payload di telemetria. Il frammento di codice precedente mostra esempi di messaggi di sistema, ad deviceId esempio e enqueuedTime . Per altre informazioni sulle proprietà dei messaggi di sistema, vedere Proprietà di sistema dei messaggi dell'hub IoT D2C.

È possibile aggiungere proprietà ai messaggi di telemetria se è necessario aggiungere metadati personalizzati ai messaggi di telemetria. Ad esempio, è necessario aggiungere un timestamp quando il dispositivo crea il messaggio.

Il frammento di codice seguente illustra come aggiungere iothub-creation-time-utc la proprietà al messaggio quando lo si crea nel dispositivo:

Importante

Il formato di questo timestamp deve essere UTC senza informazioni sul fuso orario. Ad esempio, 2021-04-21T11:30:16Z è valido, 2021-04-21T11:30:16-07:00 non è valido.

async function sendTelemetry(deviceClient, index) {
  console.log('Sending telemetry message %d...', index);
  const msg = new Message(
    JSON.stringify(
      deviceTemperatureSensor.updateSensor().getCurrentTemperatureObject()
    )
  );
  msg.properties.add("iothub-creation-time-utc", new Date().toISOString());
  msg.contentType = 'application/json';
  msg.contentEncoding = 'utf-8';
  await deviceClient.sendEvent(msg);
}

Il frammento di codice seguente mostra questa proprietà nel messaggio esportato nell'archivio BLOB:

{
  "applicationId":"5782ed70-b703-4f13-bda3-1f5f0f5c678e",
  "messageSource":"telemetry",
  "deviceId":"sample-device-01",
  "schema":"default@v1",
  "templateId":"urn:modelDefinition:mkuyqxzgea:e14m1ukpn",
  "enqueuedTime":"2021-01-29T16:45:39.143Z",
  "telemetry":{
    "temperature":8.341033560421833
  },
  "messageProperties":{
    "iothub-creation-time-utc":"2021-01-29T16:45:39.021Z"
  },
  "enrichments":{}
}

Formato delle modifiche alle proprietà

Ogni messaggio o record rappresenta una modifica a un dispositivo o a una proprietà cloud. Per le proprietà del dispositivo, solo le modifiche nel valore segnalato vengono esportate come messaggio separato. Le informazioni nel messaggio esportato includono:

  • applicationId: ID dell'IoT Central applicazione.
  • messageSource: origine del messaggio, properties .
  • messageType: cloudPropertyChange , devicePropertyDesiredChange o devicePropertyReportedChange .
  • deviceId: ID del dispositivo che ha inviato il messaggio di telemetria.
  • schema: nome e versione dello schema del payload.
  • enqueuedTime: ora in cui questa modifica è stata rilevata da IoT Central.
  • templateId: ID del modello di dispositivo associato al dispositivo.
  • enrichments: eventuali arricchimenti impostati durante l'esportazione.

Per Hub eventi e bus di servizio, IoT Central esporta i nuovi dati dei messaggi nell'hub eventi o nella coda o nell'argomento del bus di servizio quasi in tempo reale. Nelle proprietà utente (definite anche proprietà dell'applicazione) di ogni messaggio, iotcentral-device-id iotcentral-application-id e vengono inclusi iotcentral-message-source iotcentral-message-type automaticamente.

Per l'archiviazione BLOB, i messaggi vengono inviati in batch ed esportati una volta al minuto.

Nell'esempio seguente viene illustrato un messaggio di modifica della proprietà esportato ricevuto in Archiviazione BLOB di Azure.

{
    "applicationId": "1dffa667-9bee-4f16-b243-25ad4151475e",
    "messageSource": "properties",
    "messageType": "cloudPropertyChange",
    "deviceId": "18a985g1fta",
    "schema": "default@v1",
    "templateId": "urn:qugj6vbw5:___qbj_27r",
    "enqueuedTime": "2020-08-05T22:37:32.942Z",
    "properties": [{
        "name": "MachineSerialNumber",
        "value": "abc"
    }],
    "enrichments": {
        "userSpecifiedKey" : "sampleValue"
    },
    "module": "VitalsModule",
    "component": "DeviceComponent"
}

Modifica del formato della connettività del dispositivo

Ogni messaggio o record rappresenta un evento di connettività rilevato da un singolo dispositivo. Le informazioni nel messaggio esportato includono:

  • applicationId: ID dell'IoT Central applicazione.
  • messageSource: origine del messaggio, deviceConnectivity .
  • messageType: o connected disconnected .
  • deviceId: ID del dispositivo modificato.
  • schema: nome e versione dello schema del payload.
  • templateId: ID del modello di dispositivo associato al dispositivo.
  • enqueuedTime: ora in cui questa modifica si è verificata in IoT Central.
  • enrichments: eventuali arricchimenti impostati durante l'esportazione.

Per Hub eventi e bus di servizio, IoT Central esporta i nuovi dati dei messaggi nell'hub eventi o nella coda o nell'argomento del bus di servizio quasi in tempo reale. Nelle proprietà utente (definite anche proprietà dell'applicazione) di ogni messaggio, iotcentral-device-id iotcentral-application-id e vengono inclusi iotcentral-message-source iotcentral-message-type automaticamente.

Per l'archiviazione BLOB, i messaggi vengono inviati in batch ed esportati una volta al minuto.

L'esempio seguente mostra un messaggio di connettività del dispositivo esportato ricevuto in Archiviazione BLOB di Azure.

{
  "applicationId": "1dffa667-9bee-4f16-b243-25ad4151475e",
  "messageSource": "deviceConnectivity",
  "messageType": "connected",
  "deviceId": "1vzb5ghlsg1",
  "schema": "default@v1",
  "templateId": "urn:qugj6vbw5:___qbj_27r",
  "enqueuedTime": "2021-04-05T22:26:55.455Z",
  "enrichments": {
    "userSpecifiedKey": "sampleValue"
  }
}

Formato delle modifiche al ciclo di vita del dispositivo

Ogni messaggio o record rappresenta una modifica a un singolo dispositivo. Le informazioni nel messaggio esportato includono:

  • applicationId: ID dell'IoT Central applicazione.
  • messageSource: origine del messaggio, deviceLifecycle .
  • messageType: tipo di modifica che si è verificata. Uno dei seguenti: registered , , , , , e deleted provisioned enabled disabled displayNameChanged deviceTemplateChanged .
  • deviceId: ID del dispositivo modificato.
  • schema: nome e versione dello schema del payload.
  • templateId: ID del modello di dispositivo associato al dispositivo.
  • enqueuedTime: ora in cui questa modifica si è verificata in IoT Central.
  • enrichments: eventuali arricchimenti impostati durante l'esportazione.

Per Hub eventi e bus di servizio, IoT Central esporta i nuovi dati dei messaggi nell'hub eventi o nella coda o nell'argomento del bus di servizio quasi in tempo reale. Nelle proprietà utente (definite anche proprietà dell'applicazione) di ogni messaggio, iotcentral-device-id iotcentral-application-id e vengono inclusi iotcentral-message-source iotcentral-message-type automaticamente.

Per l'archiviazione BLOB, i messaggi vengono inviati in batch ed esportati una volta al minuto.

L'esempio seguente mostra un messaggio del ciclo di vita del dispositivo esportato ricevuto in Archiviazione BLOB di Azure.

{
  "applicationId": "1dffa667-9bee-4f16-b243-25ad4151475e",
  "messageSource": "deviceLifecycle",
  "messageType": "registered",
  "deviceId": "1vzb5ghlsg1",
  "schema": "default@v1",
  "templateId": "urn:qugj6vbw5:___qbj_27r",
  "enqueuedTime": "2021-01-01T22:26:55.455Z",
  "enrichments": {
    "userSpecifiedKey": "sampleValue"
  }
}

Formato delle modifiche al ciclo di vita del modello di dispositivo

Ogni messaggio o record rappresenta una modifica a un singolo modello di dispositivo pubblicato. Le informazioni nel messaggio esportato includono:

  • applicationId: ID dell'IoT Central applicazione.
  • messageSource: origine del messaggio, deviceTemplateLifecycle .
  • messageType: created , updated o deleted .
  • schema: nome e versione dello schema del payload.
  • templateId: ID del modello di dispositivo associato al dispositivo.
  • enqueuedTime: ora in cui questa modifica si è verificata in IoT Central.
  • enrichments: eventuali arricchimenti impostati durante l'esportazione.

Per Hub eventi e bus di servizio, IoT Central esporta i nuovi dati dei messaggi nell'hub eventi o nella coda o nell'argomento del bus di servizio quasi in tempo reale. Nelle proprietà utente (definite anche proprietà dell'applicazione) di ogni messaggio, iotcentral-device-id iotcentral-application-id e vengono inclusi iotcentral-message-source iotcentral-message-type automaticamente.

Per l'archiviazione BLOB, i messaggi vengono inviati in batch ed esportati una volta al minuto.

L'esempio seguente mostra un messaggio del ciclo di vita del dispositivo esportato ricevuto in Archiviazione BLOB di Azure.

{
  "applicationId": "1dffa667-9bee-4f16-b243-25ad4151475e",
  "messageSource": "deviceTemplateLifecycle",
  "messageType": "created",
  "schema": "default@v1",
  "templateId": "urn:qugj6vbw5:___qbj_27r",
  "enqueuedTime": "2021-01-01T22:26:55.455Z",
  "enrichments": {
    "userSpecifiedKey": "sampleValue"
  }
}

Confronto tra l'esportazione dei dati legacy e l'esportazione dei dati

La tabella seguente illustra le differenze tra le funzionalità di esportazione dei dati legacy e di esportazione dei dati:

Funzionalità Esportazione dei dati legacy Nuova esportazione dei dati
Tipi di dati disponibili Telemetria, dispositivi, modelli di dispositivo Telemetria, Modifiche alle proprietà, Modifiche alla connettività del dispositivo, Modifiche del ciclo di vita del dispositivo, Modifiche del ciclo di vita del modello di dispositivo
Filtro Nessuno Dipende dal tipo di dati esportato. Per i dati di telemetria, filtro in base alla telemetria, proprietà del messaggio, valori delle proprietà
Arricchimenti Nessuno Arricchire con una stringa personalizzata o un valore di proprietà nel dispositivo
Destinazioni Hub eventi di Azure, bus di servizio di Azure code e argomenti, Archiviazione BLOB di Azure Come per l'esportazione dei dati legacy e i webhook
Versioni applicazione supportate V2, V3 Solo V3
Limiti di cui si può fare di più 5 esportazioni per app, 1 destinazione per esportazione 10 connessioni export-destination per app

Passaggi successivi

Ora che si è appreso come usare la nuova esportazione dei dati, un passaggio successivo consigliato consiste nell'apprendere come usare l'analisi in IoT Central