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
- Ett Azure-konto med en aktiv prenumeration. Skapa ett konto utan kostnad.
- Slutför den första snabbstarten Skapa ett Azure IoT Central-program. Den andra snabbstarten, Konfigurera regler och åtgärder för din enhet, är valfri.
- Du behöver det IoT Central-program-URL-prefix som du valde i den första snabbstarten Skapa ett Azure IoT Central-program.
Använd Bash-miljön i Azure Cloud Shell. Mer information finns i Snabbstart för Bash i Azure Cloud Shell.
Om du föredrar att köra CLI-referenskommandon lokalt installerar du Azure CLI. Om du kör i Windows eller macOS kan du köra Azure CLI i en Docker-container. Mer information finns i Så här kör du Azure CLI i en Docker-container.
Om du använder en lokal installation loggar du in på Azure CLI med hjälp av kommandot az login. Slutför autentiseringsprocessen genom att följa stegen som visas i terminalen. Andra inloggningsalternativ finns i Logga in med Azure CLI.
När du uppmanas att installera Azure CLI-tillägget vid första användningen. Mer information om tillägg finns i Använda tillägg med Azure CLI.
Kör az version om du vill hitta versionen och de beroende bibliotek som är installerade. Om du vill uppgradera till den senaste versionen kör du az upgrade.
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:
- Gå till sidan Dataexport i ditt IoT Central-program.
- Välj fliken Mål och sedan Lägg till ett mål.
- Ange Azure Data Explorer som målnamn. Välj Azure Data Explorer som måltyp.
- I Kluster-URL anger du url:en för Azure Data Explorer som du antecknade tidigare.
- I Databasnamn anger du phonedata.
- I Tabellnamn anger du acceleration.
- I Auktorisering väljer du Systemtilldelad hanterad identitet.
- Välj Spara.
Så här konfigurerar du dataexporten:
På sidan Dataexport väljer du fliken Exporter och sedan Lägg till en export.
Ange Telefon accelerometer som exportnamn.
Välj Telemetri som den typ av data som ska exporteras.
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.
Lägg till Azure Data Explorer som mål.
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 }
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": {} }
Spara omvandlingen. Spara sedan dataexportdefinitionen.
Vänta tills exportstatusen visar Felfri:
Fråga exporterade data
Så här frågar du den exporterade telemetrin:
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ö.
Expandera klusternoden och välj databasen phonedata . Frågefönstrets omfång ändras till
Scope:yourclustername.eastus/phonedata
.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:
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:
- I ditt IoT Central-program går du till Programhantering>.
- 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: