Avvio rapido: Esportare dati da un'applicazione IoT Central

Introduzione all'esportazione dei dati IoT Central per integrare l'applicazione IoT Central con un altro servizio cloud, ad esempio Azure Esplora dati. Azure Esplora dati consente di archiviare, eseguire query ed elaborare i dati di telemetria dai dispositivi, ad esempio l'app per smartphone Plug and Play IoT.

In questo argomento di avvio rapido:

  • Usare la funzionalità di esportazione dei dati in IoT Central per i dati di telemetria dall'app smartphone a un database di Azure Esplora dati.
  • Usare Azure Esplora dati per eseguire query sui dati di telemetria.

Il completamento di questa guida introduttiva comporta un costo ridotto nell'account Azure per l'istanza di Azure Esplora dati. I primi due dispositivi nell'applicazione IoT Central sono gratuiti.

Prerequisiti

Installare i servizi di Azure

Prima di poter esportare dati dall'applicazione IoT Central, è necessario un cluster e un database di Azure Esplora dati. In questa guida introduttiva viene eseguito uno script bash nell'Cloud Shell di Azure per crearli e configurarli.

Lo script completa i passaggi seguenti:

  • Richiede l'accesso alla sottoscrizione di Azure in modo che possa generare un token di connessione per autenticare le chiamate API REST.
  • Crea un cluster e un database di Azure Esplora dati.
  • Crea un'identità gestita per l'applicazione IoT Central.
  • Configura l'identità gestita con l'autorizzazione per accedere al database di Esplora dati di Azure.
  • Aggiunge una tabella al database per archiviare i dati di telemetria in ingresso da IoT Central.

Eseguire i comandi seguenti per scaricare lo script nell'ambiente di Cloud Shell di Azure:

wget https://raw.githubusercontent.com/Azure-Samples/iot-central-docs-samples/main/quickstart-cde/createADX.sh
chmod u+x createADX.sh

Usare questo comando per eseguire lo script:

  • Sostituire CLUSTER_NAME con un nome univoco per il cluster di Esplora dati di Azure. Il nome del cluster può contenere solo lettere minuscole e numeri. La lunghezza del nome del cluster deve essere compresa tra 4 e 22 caratteri.
  • Sostituire CENTRAL_URL_PREFIX con il prefisso URL scelto nella prima guida introduttiva per l'applicazione IoT Central.
  • Quando richiesto, seguire le istruzioni per accedere all'account. È necessario che lo script esegua l'accesso perché genera un token di connessione per autenticare una chiamata API REST.
./createADX.sh CLUSTER_NAME CENTRAL_URL_PREFIX

Importante

Questo script può richiedere da 20 a 30 minuti per l'esecuzione.

Prendere nota dell'output dell'URL di Azure Esplora dati dallo script. Il valore verrà usato più avanti in questa guida introduttiva.

Configurare l'esportazione dati

Per configurare la destinazione di esportazione dei dati da IoT Central:

  1. Passare alla pagina Esportazione dati nell'applicazione IoT Central.
  2. Selezionare la scheda Destinazioni e quindi Aggiungere una destinazione.
  3. Immettere Azure Esplora dati come nome di destinazione. Selezionare Azure Esplora dati come tipo di destinazione.
  4. In URL del cluster immettere l'URL di Azure Esplora dati annotato in precedenza.
  5. In Nome database immettere phonedata.
  6. In Nome tabella immettere accelerazione.
  7. In Autorizzazione selezionare Identità gestita assegnata dal sistema.
  8. Selezionare Salva.

Per configurare l'esportazione dei dati:

  1. Nella pagina Esportazione dati selezionare la scheda Esportazioni e quindi Aggiungere un'esportazione.

  2. Immettere accelerometro telefono come nome di esportazione.

  3. Selezionare Telemetria come tipo di dati da esportare.

  4. Usare le informazioni nella tabella seguente per aggiungere due filtri:

    Nome Operatore Valore
    Modello di dispositivo Uguale a Plug and Play IoT mobile
    Sensori/Accelerazione/X Exists N/D

    Assicurarsi che l'opzione per esportare i dati se tutte le condizioni sono impostate.

  5. Aggiungere Esplora dati di Azure come destinazione.

  6. Aggiungere una trasformazione dati alla destinazione. Aggiungere la query seguente nella 2. Compilare il campo query di trasformazione nella pagina Trasformazione dati:

    import "iotc" as iotc;
    {
        Device: .device.id,
        EnqueuedTime: .enqueuedTime,
        X: .telemetry | iotc::find(.name == "accelerometer").value.x,
        Y: .telemetry | iotc::find(.name == "accelerometer").value.y,
        Z: .telemetry | iotc::find(.name == "accelerometer").value.z
    }
    

    Screenshot che mostra la query di trasformazione dei dati per l'esportazione.

    Per verificare il funzionamento della trasformazione e l'esperimento con la query, incollare il messaggio di telemetria di esempio seguente in 1. Aggiungere il messaggio di input:

    {
      "messageProperties": {},
      "device": {
        "id": "8hltz8xa7n",
        "properties": {
          "reported": []
        },
        "approved": true,
        "types": [],
        "name": "8hltz8xa7n",
        "simulated": false,
        "provisioned": true,
        "modules": [],
        "templateId": "urn:modelDefinition:vlcd3zvzdm:y425jkkpqzeu",
        "templateName": "IoT Plug and Play mobile",
        "organizations": [],
        "cloudProperties": [],
        "blocked": false
      },
      "component": "sensors",
      "applicationId": "40a97c91-50cc-44f0-9f63-71386613facc",
      "messageSource": "telemetry",
      "telemetry": [
        {
          "id": "dtmi:azureiot:PhoneSensors:__accelerometer;1",
          "name": "accelerometer",
          "value": {
            "x": 0.09960123896598816,
            "y": 0.09541380405426025,
            "z": 9.907781600952148
          }
        }
      ],
      "enqueuedTime": "2021-11-12T10:01:30.588Z",
      "enrichments": {}
    }
    
  7. Salvare la trasformazione. Salvare quindi la definizione di esportazione dei dati.

Attendere fino a quando lo stato di esportazione mostra Integro:

Screenshot che mostra un'esportazione di dati in esecuzione con lo stato integro.

Eseguire query sui dati esportati

Per eseguire query sui dati di telemetria esportati:

  1. Usare l'output dell'URL di Azure Esplora dati dallo script eseguito in precedenza per passare all'ambiente di Esplora dati di Azure.

  2. Espandere il nodo del cluster e selezionare il database phonedata . L'ambito della finestra di query viene modificato in Scope:yourclustername.eastus/phonedata.

  3. In Azure Esplora dati aprire una nuova scheda e incollare la query Kusto seguente e quindi selezionare Esegui per tracciare i dati di telemetria dell'accelerometro:

['acceleration'] 
    | project EnqueuedTime, Device, X, Y, Z
    | render timechart 

Potrebbe essere necessario attendere alcuni minuti per raccogliere dati sufficienti. Provare a tenere il telefono in diversi orientamenti per visualizzare i valori di telemetria cambiano:

Screenshot dei risultati della query per i dati di telemetria dell'accelerometro.

Pulire le risorse

Se non si prevede di completare ulteriori guide introduttive o esercitazioni di IoT Central, è possibile eliminare l'applicazione IoT Central:

  1. Nell'applicazione IoT Central passare a Gestione applicazioni>.
  2. Selezionare Elimina e quindi confermare l'azione.

Per rimuovere l'istanza di Azure Esplora dati dalla sottoscrizione ed evitare di essere fatturata inutilmente, eliminare il gruppo di risorse IoTCentralExportData-rg dal portale di Azure o eseguire il comando seguente nel Cloud Shell di Azure:

az group delete --name IoTCentralExportData-rg

Passaggi successivi

In questa guida introduttiva si è appreso come esportare continuamente i dati da IoT Central a un altro servizio di Azure.

Ora che si è certi di esportare i dati, il passaggio successivo consigliato consiste nel: