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 utfö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 gemener 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 kommer att använda 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 Telefon 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:

    Name Operator Värde
    Enhetsmall Lika med IoT Plug and Play-mobil
    Sensorer/acceleration/X Exists Ej tillämpligt

    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 datatransformering till målet. Lägg till följande fråga i 2. Skapa frågefält för transformering på sidan 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
    }
    

    Screenshot that shows the data transformation query for the export.

    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": "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. Spara omvandlingen. Spara sedan dataexportdefinitionen.

Vänta tills exportstatusen visar Felfri:

Screenshot that shows a running data export with the healthy status.

Fråga exporterade data

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

  1. Använd Url-utdata för Azure Data Explorer med det skript som du körde tidigare 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:

Screenshot of the query results for the accelerometer telemetry.

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

Gå vidare

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: