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:

  1. Skapa en Event Hubs namnrymd i Azure Portal. Du kan läsa mer i Azure Event Hubs dokument.

  2. 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.

  3. 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:
      1. Gå till Event Hubs namnrymden i Azure Portal.
      2. Under Inställningar väljer du Principer för delad åtkomst
      3. Skapa en ny nyckel eller välj en befintlig nyckel som har behörigheten Skicka.
      4. 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:

  1. Skapa en Service Bus namnrymd i Azure Portal. Du kan läsa mer i Azure Service Bus docs.

  2. 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.

  3. 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:
      1. Gå till Service Bus namnrymden i Azure Portal.
      2. Under Inställningar väljer du Principer för delad åtkomst
      3. Skapa en ny nyckel eller välj en befintlig nyckel som har behörigheten Skicka.
      4. 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:

  1. 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
  2. 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.

  3. 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:

  1. 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.

  2. 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 , password och i tenant kommandoutdata. Du behöver dem i följande steg.

  3. 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>');
    
  4. 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
    )
    
  5. (Valfritt) Så här påskyndar du inmatningen av data Azure Data Explorer databasen:

    1. Gå till sidan Konfigurationer för ditt Azure Data Explorer kluster. Aktivera sedan alternativet Strömningsinmatning.

    2. Kör följande fråga för att ändra tabellprincipen för att aktivera strömningsinmatning:

      .alter table smartvitalspatch policy streamingingestion enable
      
  6. 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

    Skärmbild av Azure Data Explorer exportmålet.

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:

  1. Öppna RequestBin.
  2. 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:

  1. Logga in på ditt IoT Central program.

  2. 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.

  3. Välj + Ny export.

  4. Ange ett visningsnamn för den nya exporten och kontrollera att dataexporten är Aktiverad.

  5. 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
  6. 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
  7. 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:

  1. 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 Authorization varje meddelande som skickas till det här målet.
      • För Auktoriseringstoken kan du ange ett tokenvärde som ska kopplas direkt till Authorization rubriken för varje meddelande som skickas till det här målet.
    • Välj Skapa.
  2. 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.

  3. 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 enhetsmallen
  • messageProperties: 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: cloudPropertyChange Antingen devicePropertyDesiredChange , eller devicePropertyReportedChange .
  • 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: Antingen connected eller disconnected .
  • 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 , , , , , , och deleted provisioned enabled disabled displayNameChanged deviceTemplateChanged .
  • 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: created Antingen updated , eller deleted .
  • 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.