Exportera IoT-data till molnmål med hjälp av dataexport
Den här artikeln beskriver hur du använder dataexport i Azure IoT Central. Använd den här funktionen för att kontinuerligt exportera filtrerade och berikade IoT-data från IoT Central program. Dataexport push-meddelanden ändras nästan i realtid till andra delar av molnlösningen för insikter, analyser och lagring med varma sökvägar.
Du kan till exempel:
- Exportera kontinuerligt telemetri, egenskapsändringar, enhetsanslutning, enhetslivscykel och livscykeldata för enhetsmallen i JSON-format nästan i realtid.
- Filtrera dataströmmarna för att exportera data som matchar anpassade villkor.
- Utöka dataströmmarna med anpassade värden och egenskapsvärden från enheten.
- Transformera dataströmmarna för att ändra deras form och innehåll.
- Skicka data till mål som Azure Event Hubs, Azure Data Explorer, Azure Service Bus, Azure Blob Storage och webhook-slutpunkter.
Tips
När du aktiverar dataexport får du endast data från och med nu. För närvarande går det inte att hämta data under en tid när dataexporten var inaktiverad. Om du vill behålla mer historiska data kan du aktivera dataexport tidigt.
Förutsättningar
Om du vill använda dataexportfunktioner måste du ha ett V3-programoch du måste ha behörigheten Dataexport.
Om du har ett V2-program kan du se Migrera ditt V2 IoT Central program till V3.
Konfigurera exportmål
Exportmålet måste finnas innan du konfigurerar dataexporten. Följande måltyper är för närvarande tillgängliga:
- Azure Event Hubs
- Azure Service Bus-kö
- Azure Service Bus-ämne
- Azure Blob Storage
- Öppna Azure-datautforskaren
- Webhook
Anslutningsalternativ
För Azure-tjänstmål kan du välja att konfigurera anslutningen med en anslutningssträng eller en hanterad identitet. Hanterade identiteter är säkrare eftersom:
- Du lagrar inte autentiseringsuppgifterna för resursen i en anslutningssträng i ditt IoT Central program.
- Autentiseringsuppgifterna är automatiskt knutna till livslängden för ditt IoT Central program.
- Hanterade identiteter roterar automatiskt sina säkerhetsnycklar regelbundet.
IoT Central använder för närvarande system tilldelade hanterade identiteter.
När du konfigurerar en hanterad identitet innehåller konfigurationen ett omfång och en roll:
- Omfånget definierar var du kan använda den hanterade identiteten. Du kan till exempel använda en Azure-resursgrupp som omfång. I det här fallet måste både IoT Central-programmet och målet finnas i samma resursgrupp.
- Rollen definierar vilka behörigheter IoT Central programmet beviljas i måltjänsten. För att ett program IoT Central att skicka data till en händelsehubb behöver den hanterade identiteten rolltilldelningen Azure Event Hubs dataavsändarrollen.
Den här artikeln visar hur du skapar en hanterad identitet i Azure Portal. Du kan också använda Azure CLI för att skapa en hanterad identitet. Mer information finns i Tilldela en hanterad identitetsåtkomst till en resurs med hjälp av Azure CLI.
Skapa ett Event Hubs mål
Om du inte har ett befintligt namnområde Event Hubs exportera till följer du dessa steg:
Skapa en Event Hubs namnrymd i Azure Portal. Du kan läsa mer i Azure Event Hubs dokument.
Skapa en händelsehubb i Event Hubs namnområdet. Gå till ditt namnområde och välj + Händelsehubb längst upp för att skapa en händelsehubbinstans.
Generera en nyckel som ska användas när du ska konfigurera din dataexport i IoT Central:
- Välj den händelsehubbinstans som du skapade.
- Välj Inställningar > principer för delad åtkomst.
- Skapa en ny nyckel eller välj en befintlig nyckel som har behörigheten Skicka.
- Kopiera antingen den primära eller sekundära anslutningssträngen. Du använder den här anslutningssträngen för att konfigurera ett nytt mål i IoT Central.
- Du kan också generera en anslutningssträng för hela Event Hubs namnområdet:
- Gå till Event Hubs namnrymden i Azure Portal.
- Under Inställningar väljer du Principer för delad åtkomst
- Skapa en ny nyckel eller välj en befintlig nyckel som har behörigheten Skicka.
- Kopiera antingen den primära eller sekundära anslutningssträngen
Skapa en Service Bus eller ett ämnesmål
Om du inte har ett befintligt namnområde Service Bus exportera till följer du dessa steg:
Skapa en Service Bus namnrymd i Azure Portal. Du kan läsa mer i Azure Service Bus docs.
Om du vill skapa en kö eller ett ämne att exportera till går du Service Bus namnområdet och väljer + Köa eller + Ämne.
Generera en nyckel som ska användas när du ska konfigurera din dataexport i IoT Central:
- Välj den kö eller det ämne som du skapade.
- Välj Inställningar/principer för delad åtkomst.
- Skapa en ny nyckel eller välj en befintlig nyckel som har behörigheten Skicka.
- Kopiera antingen den primära eller sekundära anslutningssträngen. Du använder den här anslutningssträngen för att konfigurera ett nytt mål i IoT Central.
- Du kan också generera en anslutningssträng för hela Service Bus namnområdet:
- Gå till Service Bus namnrymden i Azure Portal.
- Under Inställningar väljer du Principer för delad åtkomst
- Skapa en ny nyckel eller välj en befintlig nyckel som har behörigheten Skicka.
- Kopiera antingen den primära eller sekundära anslutningssträngen
Skapa ett Azure Blob Storage mål
Om du inte har något befintligt Azure Storage-konto att exportera till följer du dessa steg:
Skapa ett nytt lagringskonto i Azure Portal. Du kan lära dig mer om att skapa nya Azure Blob Storage-konton eller Azure Data Lake Storage v2-lagringskonton. Dataexport kan bara skriva data till lagringskonton som stöder blockblobar. I följande lista visas de kända kompatibla lagringskontotyperna:
Prestandanivå Kontotyp Standard Generell användning V2 Standard Generell användning V1 Standard Blob Storage Premium Blockbloblagring Om du vill skapa en container i ditt lagringskonto går du till ditt lagringskonto. Under Blob Service väljer du Bläddra efter blobar. Välj + Container högst upp för att skapa en ny container.
Generera en anslutningssträng för ditt lagringskonto genom att gå Inställningar > åtkomstnycklar. Kopiera en av de två anslutningssträngarna.
Skapa ett Azure Data Explorer mål
Om du inte har ett befintligt kluster Azure Data Explorer databas att exportera till följer du dessa steg:
Skapa ett nytt Azure Data Explorer kluster och databas. Mer information finns i Azure Data Explorer snabbstarten. Anteckna namnet på den databas som du skapar. Du behöver det här värdet i följande steg.
Skapa ett huvudnamn för tjänsten som du kan använda för att ansluta IoT Central till Azure Data Explorer. Använd Azure Cloud Shell för att köra följande kommando:
az ad sp create-for-rbac --skip-assignment --name "My SP for IoT Central"Anteckna värdena
appId,passwordoch itenantkommandoutdata. Du behöver dem i följande steg.Om du vill lägga till tjänstens huvudnamn i databasen går du Azure Data Explorer portalen och kör följande fråga på databasen. Ersätt platshållarna med de värden som du antecknade tidigare:
.add database <YourDatabaseName> admins ('aadapp=<YourAppId>;<YourTenant>');Skapa en tabell i databasen med ett lämpligt schema för de data som du exporterar. Följande exempelfråga skapar en tabell med namnet
smartvitalspatch. Mer information finns i Transformera data i ditt IoT Central för export:.create table smartvitalspatch ( EnqueuedTime:datetime, Message:string, Application:string, Device:string, Simulated:boolean, Template:string, Module:string, Component:string, Capability:string, Value:dynamic )(Valfritt) Så här påskyndar du inmatningen av data Azure Data Explorer databasen:
Gå till sidan Konfigurationer för ditt Azure Data Explorer kluster. Aktivera sedan alternativet Strömningsinmatning.
Kör följande fråga för att ändra tabellprincipen för att aktivera strömningsinmatning:
.alter table smartvitalspatch policy streamingingestion enable
Lägg till Azure Data Explorer mål i IoT Central med url Azure Data Explorer kluster, databasnamn och tabellnamn. I följande tabell visas de värden för tjänstens huvudnamn som ska användas för auktoriseringen:
Värde för tjänstens huvudnamn Målkonfiguration appId ClientID tenant Klientorganisations-ID password Klienthemlighet
Skapa en webhook-slutpunkt
Du kan exportera data till en offentligt tillgänglig HTTP-webhookslutpunkt. Du kan skapa en testwebhookslutpunkt med RequestBin. RequestBin begränsar begäran när gränsen för begäran har nåtts:
- Öppna RequestBin.
- Skapa en ny RequestBin och kopiera Bin-URL:en. Du använder den här URL:en när du testar dataexporten.
Konfigurera dataexport
Nu när du har ett mål att exportera dina data till kan du konfigurera dataexport i IoT Central program:
Logga in på ditt IoT Central program.
I den vänstra rutan väljer du Dataexport.
Tips
Om du inte ser Dataexport i det vänstra fönstret har du inte behörighet att konfigurera dataexport i din app. Kontakta en administratör för att konfigurera dataexport.
Välj + Ny export.
Ange ett visningsnamn för den nya exporten och kontrollera att dataexporten är Aktiverad.
Välj vilken typ av data som ska exporteras. I följande tabell visas de typer av dataexport som stöds:
Datatyp Beskrivning Dataformat Telemetri Exportera telemetrimeddelanden från enheter nästan i realtid. Varje exporterat meddelande innehåller det fullständiga innehållet i det ursprungliga enhetsmeddelandet, normaliserat. Meddelandeformat för telemetri Egenskapsändringar Exportera ändringar av enhets- och molnegenskaper nästan i realtid. För skrivskyddade enhetsegenskaper exporteras ändringar av de rapporterade värdena. För läs- och skrivegenskaper exporteras både rapporterade och önskade värden. Meddelandeformat för ändring av egenskap Enhetsanslutning Exportera enhetsanslutna och frånkopplade händelser. Meddelandeformat för enhetsanslutning Enhetslivscykel Exportera registrerade, borttagna, etablerade, aktiverade, inaktiverade, displayNameChanged och deviceTemplateChanged-händelser. Meddelandeformat för enhetslivscykeländringar Livscykel för enhetsmall Exportera publicerade enhetsmalländringar, inklusive skapade, uppdaterade och borttagna. Meddelandeformat för ändring av enhetsmallslivscykel Du kan också lägga till filter för att minska mängden data som exporteras. Det finns olika typer av filter för varje dataexporttyp:
Typ av data Tillgängliga filter Telemetri - Filtrera efter enhetsnamn, enhets-ID, enhetsmall och om enheten simuleras
- Filtrera dataströmmen så att den endast innehåller telemetri som uppfyller filtervillkoren
- Filtrera dataströmmen så att den endast innehåller telemetri från enheter med egenskaper som matchar filtervillkoren
- Filtrera dataströmmen så att den endast innehåller telemetri som har meddelandeegenskaper som uppfyller filtervillkoret. Meddelandeegenskaper (även kallade programegenskaper) skickas i en påse med nyckel/värde-par på varje telemetrimeddelande som eventuellt skickas av enheter som använder enhets-SDK:erna. Om du vill skapa ett filter för meddelandeegenskap anger du den nyckel för meddelandeegenskap som du letar efter och anger ett villkor. Endast telemetrimeddelanden med egenskaper som matchar det angivna filtervillkoret exporteras. Läs mer om programegenskaper från IoT Hub dokument
Egenskapsändringar - Filtrera efter enhetsnamn, enhets-ID, enhetsmall och om enheten simuleras
- Filtrera dataströmmen så att den endast innehåller egenskapsändringar som uppfyller filtervillkoren
Enhetsanslutning - Filtrera efter enhetsnamn, enhets-ID, enhetsmall, organisationer och om enheten simuleras
- Filtrera dataströmmen så att den endast innehåller ändringar från enheter med egenskaper som matchar filtervillkoren
Enhetslivscykel - Filtrera efter enhetsnamn, enhets-ID, enhetsmall och om enheten har etablerats, aktiverats eller simulerats
- Filtrera dataströmmen så att den endast innehåller ändringar från enheter med egenskaper som matchar filtervillkoren
Livscykel för enhetsmall - Filtrera efter enhetsmall
Du kan också utöka exporterade meddelanden med extra nyckel/värde-parmetadata. Följande berikningar är tillgängliga för exporttyperna telemetri, egenskapsändringar, enhetsanslutning och enhetslivscykel:
- Anpassad sträng: Lägger till en anpassad statisk sträng i varje meddelande. Ange valfri nyckel och ange ett strängvärde.
- Egenskapen, som lägger till i varje meddelande:
- Enhetsmetadata, till exempel enhetsnamn, enhetsmallnamn, aktiverat, organisationer, etablerat och simulerat.
- Den aktuella enhetens rapporterade egenskaps- eller molnegenskapsvärde för varje meddelande. Om det exporterade meddelandet kommer från en enhet som inte har den angivna egenskapen får det exporterade meddelandet inte berikningen.
Konfigurera målet:
Lägg till ett nytt mål eller lägg till ett mål som du redan har skapat. Välj länken Skapa en ny och lägg till följande information:
- Målnamn: visningsnamnet för målet i IoT Central.
- Måltyp: Välj måltyp. Om du inte redan har ställt in målet kan du se Konfigurera exportmål.
- Auktorisering: Välj Anslutningssträng.
- För Azure Event Hubs, Azure Service Bus-kö eller -ämne klistrar du in anslutningssträngen för din resurs och anger händelsehubben, kön eller ämnesnamnet för den fallkänsliga händelsen om det behövs.
- För Azure Blob Storage klistrar du in anslutningssträngen för din resurs och anger namnet på den case-känsliga containern om det behövs.
- För Webhook klistrar du in motringningens URL för webhook-slutpunkten. Du kan också konfigurera webhook-auktorisering (OAuth 2.0 och auktoriseringstoken) och lägga till anpassade huvuden.
- För OAuth 2.0 stöds endast flödet för klientautentiseringsuppgifter. När målet sparas kommunicerar IoT Central OAuth-providern för att hämta en auktoriseringstoken. Denna token kopplas till rubriken för
Authorizationvarje meddelande som skickas till det här målet. - För Auktoriseringstoken kan du ange ett tokenvärde som ska kopplas direkt till
Authorizationrubriken för varje meddelande som skickas till det här målet.
- För OAuth 2.0 stöds endast flödet för klientautentiseringsuppgifter. När målet sparas kommunicerar IoT Central OAuth-providern för att hämta en auktoriseringstoken. Denna token kopplas till rubriken för
- Välj Skapa.
Välj + Mål och välj ett mål i listrutan. Du kan lägga till upp till fem mål till en enda export.
När du är klar med att konfigurera exporten väljer du Spara. Efter några minuter visas dina data i dina mål.
Övervaka exporten
Du kan kontrollera statusen för dina exporter i IoT Central. Du kan också använda Azure Monitor för att se hur mycket data du exporterar och eventuella exportfel. Du kan komma åt hälsomått för export och enheter i diagram i Azure Portal, med en REST API eller med frågor i PowerShell eller Azure CLI. För närvarande kan du övervaka följande mått för dataexport i Azure Monitor:
- Antal meddelanden som ska exporteras innan filter tillämpas.
- Antal meddelanden som passerar genom filter.
- Antalet meddelanden som har exporterats till mål.
- Antal påträffade fel.
Mer information finns i Övervaka programmets hälsa.
Mål
Azure Blob Storage mål
Data exporteras en gång per minut, där varje fil innehåller batchen med ändringar sedan den föregående exporten. Exporterade data sparas i JSON-format. Standardsökvägarna till exporterade data i ditt lagringskonto är:
- Telemetri: {container}/{app-id}/{partition_id}/{YYYY}/{MM}/{dd}/{hh}/{mm}/{filnamn}
- Egenskapsändringar: {container}/{app-id}/{partition_id}/{YYYY}/{MM}/{dd}/{hh}/{mm}/{filnamn}
Om du vill bläddra bland de exporterade filerna Azure Portal navigerar du till filen och väljer Redigera blob.
Azure Event Hubs- och Azure Service Bus mål
Data exporteras nästan i realtid. Data finns i meddelandetexten och är i JSON-format kodade som UTF-8.
Anteckningarna eller systemegenskaperna i meddelandet innehåller fälten , , och som har samma värden som motsvarande fält iotcentral-device-id iotcentral-application-id i iotcentral-message-source iotcentral-message-type meddelandetexten.
Azure Data Explorer mål
Data exporteras nästan i realtid till en angiven databastabell i Azure Data Explorer klustret. Data finns i meddelandetexten och är i JSON-format kodade som UTF-8. Du kan lägga till en transformering IoT Central för att exportera data som matchar tabellschemat.
Om du vill fråga efter exporterade data i Azure Data Explorer portalen navigerar du till databasen och väljer Fråga.
Webhook-mål
För webhooks-mål exporteras även data nästan i realtid. Data i meddelandetexten har samma format som för Event Hubs och Service Bus.
Telemetriformat
Varje exporterat meddelande innehåller en normaliserad form av det fullständiga meddelandet som enheten skickade i meddelandetexten. Meddelandet är i JSON-format och kodat som UTF-8. Informationen i varje meddelande innehåller:
applicationId: ID för IoT Central program.messageSource: Källan för meddelandet –telemetry.deviceId: ID:t för den enhet som skickade telemetrimeddelandet.schema: Nyttolastschemats namn och version.templateId: ID för enhetsmallen som är associerad med enheten.enqueuedTime: Den tid då det här meddelandet togs emot av IoT Central.enrichments: Alla berikanden som har ställts in på exporten.module: Den IoT Edge som skickade det här meddelandet. Det här fältet visas bara om meddelandet kommer från en IoT Edge modul.component: Komponenten som skickade det här meddelandet. Det här fältet visas bara om de funktioner som skickades i meddelandet modellerades som en komponent i enhetsmallenmessageProperties: Andra egenskaper som enheten skickade med meddelandet. Dessa egenskaper kallas ibland programegenskaper. Läs mer från IoT Hub docs.
För Event Hubs och Service Bus exporterar IoT Central ett nytt meddelande snabbt när det har tagit emot meddelandet från en enhet. I användaregenskaperna (kallas även programegenskaper) för varje meddelande inkluderas iotcentral-device-id iotcentral-application-id , och iotcentral-message-source automatiskt.
För Blob Storage batchas meddelanden och exporteras en gång per minut.
I följande exempel visas ett exporterat telemetrimeddelande:
{
"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"
}
}
Meddelandeegenskaper
Telemetrimeddelanden har egenskaper för metadata utöver telemetrinyttolasten. Föregående kodfragment visar exempel på systemmeddelanden som deviceId och enqueuedTime . Mer information om systemmeddelandeegenskaperna finns i Systemegenskaper för D2C-IoT Hub meddelanden.
Du kan lägga till egenskaper för telemetrimeddelanden om du behöver lägga till anpassade metadata i dina telemetrimeddelanden. Du måste till exempel lägga till en tidsstämpel när enheten skapar meddelandet.
Följande kodfragment visar hur du lägger iothub-creation-time-utc till egenskapen i meddelandet när du skapar den på enheten:
Viktigt
Formatet för den här tidsstämpeln måste vara UTC utan tidszonsinformation. till exempel är 2021-04-21T11:30:16Z giltigt, 2021-04-21T11:30:16-07:00 är ogiltigt.
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);
}
Följande kodfragment visar den här egenskapen i meddelandet som exporteras till Blob Storage:
{
"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":{}
}
Format för egenskapsändringar
Varje meddelande eller post representerar ändringar av enhets- och molnegenskaper. Informationen i det exporterade meddelandet omfattar:
applicationId: ID för IoT Central program.messageSource: Källan för meddelandet –properties.messageType:cloudPropertyChangeAntingendevicePropertyDesiredChange, ellerdevicePropertyReportedChange.deviceId: ID:t för den enhet som skickade telemetrimeddelandet.schema: Nyttolastschemats namn och version.enqueuedTime: Den tid då den här ändringen identifierades av IoT Central.templateId: ID för enhetsmallen som är associerad med enheten.properties: En matris med egenskaper som har ändrats, inklusive namnen på de egenskaper och värden som har ändrats. Komponent- och modulinformationen ingår om egenskapen modelleras i en komponent eller en IoT Edge modul.enrichments: Alla berikanden som har ställts in på exporten.
För Event Hubs och Service Bus exporterar IoT Central data om nya meddelanden till din händelsehubb eller Service Bus-kö eller ämne nästan i realtid. I användaregenskaperna (kallas även programegenskaper) för varje meddelande inkluderas iotcentral-device-id iotcentral-application-id , , och iotcentral-message-source iotcentral-message-type automatiskt.
För Blob Storage batchas meddelanden och exporteras en gång per minut.
I följande exempel visas ett meddelande om en exporterad egenskapsändring som tagits emot i Azure Blob Storage.
{
"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",
"module": "VitalsModule",
"component": "DeviceComponent"
}],
"enrichments": {
"userSpecifiedKey" : "sampleValue"
}
}
Format för enhetsanslutningsändringar
Varje meddelande eller post representerar en anslutningshändelse från en enskild enhet. Informationen i det exporterade meddelandet omfattar:
applicationId: ID för IoT Central program.messageSource: Källan för meddelandet –deviceConnectivity.messageType: Antingenconnectedellerdisconnected.deviceId: ID:t för den enhet som ändrades.schema: Nyttolastschemats namn och version.templateId: ID för enhetsmallen som är associerad med enheten.enqueuedTime: Den tid då ändringen inträffade i IoT Central.enrichments: Alla berikanden som har ställts in på exporten.
För Event Hubs och Service Bus exporterar IoT Central data om nya meddelanden till din händelsehubb eller Service Bus-kö eller ämne nästan i realtid. I användaregenskaperna (kallas även programegenskaper) för varje meddelande inkluderas iotcentral-device-id iotcentral-application-id , , och iotcentral-message-source iotcentral-message-type automatiskt.
För Blob Storage batchas meddelanden och exporteras en gång per minut.
I följande exempel visas ett meddelande om en exporterad enhetsanslutning som tagits emot i Azure Blob Storage.
{
"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"
}
}
Format för ändring av enhetslivscykel
Varje meddelande eller post representerar en ändring av en enskild enhet. Informationen i det exporterade meddelandet omfattar:
applicationId: ID för IoT Central program.messageSource: Källan för meddelandet –deviceLifecycle.messageType: Den typ av ändring som inträffade. Något av:registered, , , , , , ochdeletedprovisionedenableddisableddisplayNameChangeddeviceTemplateChanged.deviceId: ID:t för den enhet som ändrades.schema: Nyttolastschemats namn och version.templateId: ID för enhetsmallen som är associerad med enheten.enqueuedTime: Den tid då ändringen inträffade i IoT Central.enrichments: Alla berikanden som har ställts in på exporten.
För Event Hubs och Service Bus exporterar IoT Central data om nya meddelanden till din händelsehubb eller Service Bus-kö eller ämne nästan i realtid. I användaregenskaperna (kallas även programegenskaper) för varje meddelande inkluderas iotcentral-device-id iotcentral-application-id , , och iotcentral-message-source iotcentral-message-type automatiskt.
För Blob Storage batchas meddelanden och exporteras en gång per minut.
I följande exempel visas ett meddelande om exporterad enhetslivscykel som tagits emot i Azure Blob Storage.
{
"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"
}
}
Ändringsformat för enhetsmallens livscykel
Varje meddelande eller post representerar en ändring i en enda publicerad enhetsmall. Informationen i det exporterade meddelandet omfattar:
applicationId: ID för IoT Central program.messageSource: Källan för meddelandet –deviceTemplateLifecycle.messageType:createdAntingenupdated, ellerdeleted.schema: Nyttolastschemats namn och version.templateId: ID för enhetsmallen som är associerad med enheten.enqueuedTime: Den tid då ändringen inträffade i IoT Central.enrichments: Alla berikanden som har ställts in på exporten.
För Event Hubs och Service Bus exporterar IoT Central data om nya meddelanden till din händelsehubb eller Service Bus-kö eller ämne nästan i realtid. I användaregenskaperna (kallas även programegenskaper) för varje meddelande inkluderas iotcentral-device-id iotcentral-application-id , , och iotcentral-message-source iotcentral-message-type automatiskt.
För Blob Storage batchas meddelanden och exporteras en gång per minut.
I följande exempel visas ett meddelande om exporterad enhetslivscykel som tagits emot i Azure Blob Storage.
{
"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"
}
}
Jämförelse av äldre dataexport och dataexport
I följande tabell visas skillnaderna mellan funktionerna för äldre dataexport och dataexport:
| Funktioner | Äldre dataexport | Ny dataexport |
|---|---|---|
| Tillgängliga datatyper | Telemetri, Enheter, Enhetsmallar | Telemetri, egenskapsändringar, enhetsanslutningsändringar, ändringar i enhetslivscykeln, livscykeländringar för enhetsmall |
| Filtrering | Ingen | Beror på vilken datatyp som exporteras. För telemetri, filtrering efter telemetri, meddelandeegenskaper, egenskapsvärden |
| Berikande | Ingen | Utöka med en anpassad sträng eller ett egenskapsvärde på enheten |
| Mål | Azure Event Hubs, Azure Service Bus köer och ämnen, Azure Blob Storage | Samma som för äldre dataexport plus webhooks |
| Programversioner som stöds | V2, V3 | Endast V3 |
| Märkbara gränser | Fem exporter per app, ett mål per export | 10 export-målanslutningar per app |
Nästa steg
Nu när du vet hur du konfigurerar dataexport föreslår vi att du går vidare med att lära dig Transformera data i ditt IoT Central-program för export.