Snabbstart: Exportera data från ett IoT Central-program

I den här snabbstarten konfigurerar du ditt IoT Central-program för att exportera data i Azure Data Explorer. Med Azure Data Explorer kan du lagra, fråga och bearbeta telemetrin från enheter som IoT Plug och Play smartphone-appen.

I den här snabbstarten kommer du att göra följande:

  • Använd funktionen för dataexport i IoT Central till telemetrin från smartphone-appen till en Azure Data Explorer-databas.
  • Använd Azure Data Explorer för att köra frågor på telemetrin.

Att slutföra den här snabbstarten medför en liten kostnad i ditt Azure-konto för Azure Data Explorer-instansen. De två första enheterna i IoT Central-programmet är kostnadsfria.

Förutsättningar

Installera Azure-tjänster

Innan du kan exportera data från ditt IoT Central-program behöver du ett Azure Data Explorer-kluster och en databas. I den här snabbstarten kör du ett bash-skript i Azure Cloud Shell för att skapa och konfigurera dem.

Skriptet slutför följande steg:

  • Uppmanar dig att logga in på din Azure-prenumeration så att den kan generera en ägartoken för att autentisera REST API-anropen.
  • Skapar ett Azure Data Explorer-kluster och en databas.
  • Skapar en hanterad identitet för ditt IoT Central-program.
  • Konfigurerar den hanterade identiteten med behörighet att komma åt Azure Data Explorer-databasen.
  • Lägger till en tabell i databasen för att lagra inkommande telemetri från IoT Central.

Kör följande kommandon för att ladda ned skriptet till din Azure Cloud Shell-miljö:

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

Använd följande kommando för att köra skriptet:

  • Ersätt CLUSTER_NAME med ett unikt namn för ditt Azure Data Explorer-kluster. Klusternamnet får bara innehålla små bokstäver och siffror. Klusternamnets längd måste vara mellan 4 och 22 tecken.
  • Ersätt CENTRAL_URL_PREFIX med URL-prefixet som du valde i den första snabbstarten för ditt IoT Central-program.
  • När du uppmanas att göra det följer du anvisningarna för att logga in på ditt konto. Skriptet måste logga in eftersom det genererar en ägartoken för att autentisera ett REST API-anrop.
./createADX.sh CLUSTER_NAME CENTRAL_URL_PREFIX

Viktigt!

Det här skriptet kan ta 20 till 30 minuter att köra.

Anteckna azure datautforskarens URL-utdata via skriptet. Du använder det här värdet senare i snabbstarten.

Konfigurera dataexport

Så här konfigurerar du dataexportmålet från IoT Central:

  1. Gå till sidan Dataexport i ditt IoT Central-program.
  2. Välj fliken Mål och sedan Lägg till ett mål.
  3. Ange Azure Data Explorer som målnamn. Välj Azure Data Explorer som måltyp.
  4. I Kluster-URL anger du url:en för Azure Data Explorer som du antecknade tidigare.
  5. I Databasnamn anger du phonedata.
  6. I Tabellnamn anger du acceleration.
  7. I Auktorisering väljer du Systemtilldelad hanterad identitet.
  8. Välj Spara.

Så här konfigurerar du dataexporten:

  1. På sidan Dataexport väljer du fliken Exporter och sedan Lägg till en export.

  2. Ange Phone accelerometer som exportnamn.

  3. Välj Telemetri som den typ av data som ska exporteras.

  4. Använd informationen i följande tabell för att lägga till två filter:

    Namn Operator Värde
    Enhetsmall Motsvarar IoT Plug and Play-mobil
    Sensorer/Acceleration/X Exists N/A

    Kontrollera att alternativet för att exportera data om alla villkor är sanna har angetts.

  5. Lägg till Azure Data Explorer som mål.

  6. Lägg till en dataomvandling till målet. Lägg till följande fråga i 2. Skapa frågefält för transformeringsidan Datatransformering:

    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
    }
    

    Skärmbild som visar datatransformeringsfrågan för exporten.

    Om du vill se hur omvandlingen fungerar och experimentera med frågan klistrar du in följande exempeltelemetrimeddelande i 1. Lägg till indatameddelandet:

    {
      "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": "00001111-aaaa-2222-bbbb-3333cccc4444",
      "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. Spara omvandlingen. Spara sedan definitionen av dataexport.

Vänta tills exportstatusen visar Felfri:

Skärmbild som visar en dataexport som körs med felfri status.

Fråga exporterade data

Så här frågar du den exporterade telemetrin:

  1. Använd URL:en som skriptet du körde tidigare genererade för att navigera till din Azure Data Explorer-miljö.

  2. Expandera klusternoden och välj databasen phonedata . Frågefönstrets omfång ändras till Scope:yourclustername.eastus/phonedata.

  3. I Azure Data Explorer öppnar du en ny flik och klistrar in följande Kusto-fråga och väljer sedan Kör för att rita accelerometertelemetrin:

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

Du kan behöva vänta i flera minuter för att samla in tillräckligt med data. Om du vill se hur telemetrivärdena ändras kan du prova att hålla telefonen i olika orienteringar:

Skärmbild av frågeresultatet för accelerometertelemetrin.

Rensa resurser

Om du inte planerar att slutföra ytterligare snabbstarter eller självstudier för IoT Central kan du ta bort ditt IoT Central-program:

  1. I ditt IoT Central-program går du till Programhantering>.
  2. Välj Ta bort och bekräfta sedan åtgärden.

Om du vill ta bort Azure Data Explorer-instansen från din prenumeration och undvika att debiteras i onödan tar du bort resursgruppen IoTCentralExportData-rg från Azure-portalen eller kör följande kommando i Azure Cloud Shell:

az group delete --name IoTCentralExportData-rg

Nästa steg

I den här snabbstarten lärde du dig att kontinuerligt exportera data från IoT Central till en annan Azure-tjänst.

Nu när du vet att du ska exportera dina data är nästa steg att: