IoT-gegevens exporteren naar cloudbestemmingen met behulp van gegevensexport
In dit artikel wordt beschreven hoe u gegevensexport gebruikt in Azure IoT Central. Gebruik deze functie om continu gefilterde en verrijkte IoT-gegevens uit uw IoT Central exporteren. Gegevensexport pusht wijzigingen in bijna realtime naar andere onderdelen van uw cloudoplossing voor inzichten, analyses en opslag met een warm pad.
U kunt bijvoorbeeld:
- Continu telemetrie, wijzigingen van eigenschappen, apparaatconnectiviteit, levenscyclus van apparaten en levenscyclusgegevens van apparaatsjablonen in bijna-realtime in JSON-indeling exporteren.
- Filter de gegevensstromen om gegevens te exporteren die voldoen aan aangepaste voorwaarden.
- Verrijk de gegevensstromen met aangepaste waarden en eigenschapswaarden van het apparaat.
- De gegevensstromen transformeren om hun vorm en inhoud te wijzigen.
- Verzend de gegevens naar bestemmingen zoals Azure Event Hubs, Azure Data Explorer, Azure Service Bus, Azure Blob Storage en webhook-eindpunten.
Tip
Wanneer u gegevensexport in-/uit zet, krijgt u vanaf dat moment alleen de gegevens. Op dit moment kunnen gegevens niet worden opgehaald voor een tijdstip waarop de gegevensexport was uitgeschakeld. Schakel gegevensexport vroegtijdig in om meer historische gegevens te bewaren.
Vereisten
Als u functies voor gegevensexport wilt gebruiken, moet u een V3-toepassing hebbenen moet u de machtiging Gegevensexport hebben.
Als u een V2-toepassing hebt, zie Uw V2-IoT Central migreren naar V3.
Exportbestemming instellen
Uw exportbestemming moet bestaan voordat u uw gegevensexport configureert. De volgende doeltypen zijn momenteel beschikbaar:
- Azure Event Hubs
- Azure Service Bus-wachtrij
- Azure Service Bus-onderwerp
- Azure Blob Storage
- Azure Data Explorer
- Webhook
Verbindingsopties
Voor de Azure-servicebestemmingen kunt u ervoor kiezen om de verbinding met een connection string of een beheerde identiteit te configureren. Beheerde identiteiten zijn veiliger omdat:
- U kunt de referenties voor uw resource niet opslaan in een connection string in uw IoT Central toepassing.
- De referenties worden automatisch gekoppeld aan de levensduur van uw IoT Central toepassing.
- Beheerde identiteiten draaien hun beveiligingssleutels automatisch regelmatig.
IoT Central gebruikt momenteel door het systeem toegewezen beheerde identiteiten.
Wanneer u een beheerde identiteit configureert, bevat de configuratie een bereik en een rol:
- Het bereik definieert waar u de beheerde identiteit kunt gebruiken. U kunt bijvoorbeeld een Azure-resourcegroep als bereik gebruiken. In dit geval moeten zowel IoT Central-toepassing als het doel zich in dezelfde resourcegroep.
- De rol definieert welke machtigingen de IoT Central toepassing wordt verleend in de doelservice. Als een toepassing bijvoorbeeld IoT Central gegevens naar een Event Hub verzendt, heeft de beheerde identiteit de roltoewijzing Azure Event Hubs gegevens afzender nodig.
In dit artikel wordt beschreven hoe u een beheerde identiteit maakt in Azure Portal. U kunt ook de Azure CLI gebruiken om een mangedidentiteit te maken. Zie Toegang tot een beheerde identiteit toewijzen aan een resource met behulp van Azure CLI voor meer informatie.
Een Event Hubs maken
Als u geen bestaande naamruimte hebt Event Hubs u wilt exporteren, volgt u deze stappen:
Maak een nieuwe Event Hubs-naamruimte in de Azure Portal. Meer informatie vindt u in Azure Event Hubs docs.
Maak een Event Hub in uw Event Hubs naamruimte. Ga naar uw naamruimte en selecteer + Event Hub bovenaan om een Event Hub-exemplaar te maken.
Genereer een sleutel om te gebruiken bij het instellen van uw gegevensexport in IoT Central:
- Selecteer het event hub-exemplaar dat u hebt gemaakt.
- Selecteer Instellingen > beleid voor gedeelde toegang.
- Maak een nieuwe sleutel of kies een bestaande sleutel met verzendmachtigingen.
- Kopieer het primaire of secundaire connection string. U gebruikt deze connection string om een nieuwe bestemming in te stellen in IoT Central.
- U kunt ook een connection string genereren voor de Event Hubs naamruimte:
- Ga naar Event Hubs naamruimte in de Azure Portal.
- Selecteer onder Instellingen de optie Beleid voor gedeelde toegang
- Maak een nieuwe sleutel of kies een bestaande sleutel met verzendmachtigingen.
- Kopieer het primaire of secundaire connection string
Een Service Bus of onderwerpbestemming maken
Als u geen bestaande naamruimte hebt Service Bus u wilt exporteren, volgt u deze stappen:
Maak een nieuwe Service Bus-naamruimte in de Azure Portal. Meer informatie vindt u in Azure Service Bus docs.
Als u een wachtrij of onderwerp wilt maken om naar te exporteren, gaat u naar Service Bus naamruimte en selecteert u + Wachtrij of + Onderwerp.
Genereer een sleutel om te gebruiken bij het instellen van uw gegevensexport in IoT Central:
- Selecteer de wachtrij of het onderwerp dat u hebt gemaakt.
- Selecteer Instellingen/Beleid voor gedeelde toegang.
- Maak een nieuwe sleutel of kies een bestaande sleutel met verzendmachtigingen.
- Kopieer het primaire of secundaire connection string. U gebruikt deze connection string om een nieuwe bestemming in te stellen in IoT Central.
- U kunt ook een connection string genereren voor de Service Bus naamruimte:
- Ga naar Service Bus naamruimte in de Azure Portal.
- Selecteer onder Instellingen de optie Beleid voor gedeelde toegang
- Maak een nieuwe sleutel of kies een bestaande sleutel met verzendmachtigingen.
- Kopieer het primaire of secundaire connection string
Een Azure Blob-Storage maken
Als u geen bestaand Azure-opslagaccount hebt om naar te exporteren, volgt u deze stappen:
Maak een nieuw opslagaccount in de Azure Portal. Meer informatie over het maken van nieuwe Azure Blob Storage-accounts of Azure Data Lake Storage v2-opslagaccounts. Gegevensexport kan alleen gegevens schrijven naar opslagaccounts die blok-blobs ondersteunen. De volgende lijst bevat de bekende compatibele typen opslagaccounts:
Prestatielaag Accounttype Standard Algemeen V2 Standard Algemeen V1 Standard Blob Storage Premium Blok-blobopslag Als u een container in uw opslagaccount wilt maken, gaat u naar uw opslagaccount. Selecteer onder Blob Service de optie Bladeren in blobs. Selecteer + Container bovenaan om een nieuwe container te maken.
Genereer een connection string voor uw opslagaccount door naar toegangssleutels Instellingen > te gaan. Kopieer een van de twee verbindingsreeksen.
Een Azure Data Explorer maken
Als u nog geen cluster en database Azure Data Explorer om naar te exporteren, volgt u deze stappen:
Maak een nieuw Azure Data Explorer cluster en database. Zie de snelstart voor Azure Data Explorer meer informatie. Noteer de naam van de database die u maakt. U hebt deze waarde in de volgende stappen nodig.
Maak een service-principal die u kunt gebruiken om uw IoT Central te verbinden met Azure Data Explorer. Gebruik de Azure Cloud Shell om de volgende opdracht uit te voeren:
az ad sp create-for-rbac --skip-assignment --name "My SP for IoT Central"Noteer de waarden , en in de uitvoer van de opdracht. U
appIdhebt deze in de volgende stappenpasswordtenantnodig.Als u de service-principal wilt toevoegen aan de database, gaat u naar Azure Data Explorer portal en voer u de volgende query uit op uw database. Vervang de tijdelijke aanduidingen door de waarden die u eerder hebt noteren:
.add database <YourDatabaseName> admins ('aadapp=<YourAppId>;<YourTenant>');Maak een tabel in uw database met een geschikt schema voor de gegevens die u exporteert. Met de volgende voorbeeldquery maakt u een tabel met de naam
smartvitalspatch. Zie Gegevens in uw IoT Central voor exporteren voor meer informatie:.create table smartvitalspatch ( EnqueuedTime:datetime, Message:string, Application:string, Device:string, Simulated:boolean, Template:string, Module:string, Component:string, Capability:string, Value:dynamic )(Optioneel) U kunt de opname van gegevens in uw database Azure Data Explorer versnellen:
Navigeer naar de pagina Configuraties voor uw Azure Data Explorer cluster. Schakel vervolgens de optie Streaming-opname in.
Voer de volgende query uit om het tabelbeleid te wijzigen om streaming-opname in te stellen:
.alter table smartvitalspatch policy streamingingestion enable
Voeg een Azure Data Explorer toe aan IoT Central met behulp van Azure Data Explorer cluster-URL, databasenaam en tabelnaam. In de volgende tabel ziet u de service-principalwaarden die moeten worden gebruikt voor de autorisatie:
Waarde van service-principal Doelconfiguratie appId ClientID tenant Tenant-id wachtwoord Clientgeheim
Een webhook-eindpunt maken
U kunt gegevens exporteren naar een openbaar beschikbaar HTTP-webhook-eindpunt. U kunt een testwebhook-eindpunt maken met behulp van RequestBin. RequestBin beperkt de aanvraag wanneer de aanvraaglimiet is bereikt:
- Open RequestBin.
- Maak een nieuwe RequestBin en kopieer de Bin-URL. U gebruikt deze URL wanneer u de gegevensexport test.
Gegevensexport instellen
Nu u een doel hebt om uw gegevens naar te exporteren, kunt u gegevensexport instellen in IoT Central toepassing:
Meld u aan bij uw IoT Central toepassing.
Selecteer gegevensexport in het linkerdeelvenster.
Tip
Als u Gegevensexport niet ziet in het linkerdeelvenster, hebt u geen machtigingen om gegevensexport in uw app te configureren. Praat met een beheerder om gegevensexport in te stellen.
Selecteer + Nieuwe export.
Voer een weergavenaam in voor de nieuwe export en zorg ervoor dat de gegevensexport Is ingeschakeld is.
Kies het type gegevens dat u wilt exporteren. De volgende tabel bevat de ondersteunde typen gegevensexport:
Gegevenstype Beschrijving Gegevensindeling Telemetrie Exporteert telemetrieberichten van apparaten bijna in realtime. Elk geëxporteerd bericht bevat de volledige inhoud van het oorspronkelijke apparaatbericht, genormaliseerd. Indeling van telemetriebericht Eigenschapswijzigingen Wijzigingen in apparaat- en cloudeigenschappen in bijna realtime exporteren. Voor alleen-lezen apparaateigenschappen worden wijzigingen in de gerapporteerde waarden geëxporteerd. Voor eigenschappen voor lezen/schrijven worden zowel gerapporteerde als gewenste waarden geëxporteerd. Berichtindeling wijzigen van eigenschap Connectiviteit van apparaten Gebeurtenissen exporteren die zijn verbonden en de verbinding met het apparaat is verbroken. Berichtindeling voor apparaatconnectiviteit Levenscyclus van apparaten Exporteer geregistreerde, verwijderde, inrichtende, ingeschakelde, uitgeschakelde, displayNameChanged- en deviceTemplateChanged-gebeurtenissen. Berichtindeling van wijzigingen in de levenscyclus van apparaten Levenscyclus van apparaatsjabloon Wijzigingen in gepubliceerde apparaatsjablonen exporteren, inclusief gemaakte, bijgewerkte en verwijderde wijzigingen. Levenscyclus van apparaatsjabloon wijzigt berichtindeling Voeg eventueel filters toe om de hoeveelheid geëxporteerde gegevens te verminderen. Er zijn verschillende typen filters beschikbaar voor elk type gegevensexport:
Type gegevens Beschikbare filters Telemetrie - Filteren op apparaatnaam, apparaat-id, apparaatsjabloon en of het apparaat wordt gesimuleerd
- Filterstroom zodat deze alleen telemetrie bevat die voldoet aan de filtervoorwaarden
- Filterstroom om alleen telemetrie van apparaten te bevatten met eigenschappen die overeenkomen met de filtervoorwaarden
- Filterstroom zodat deze alleen telemetrie bevat die berichteigenschappen heeft die voldoen aan de filtervoorwaarde. Berichteigenschappen (ook wel toepassingseigenschappen genoemd) worden verzonden in een zak sleutel-waardeparen op elk telemetriebericht dat optioneel wordt verzonden door apparaten die gebruikmaken van de apparaat-SDK's. Als u een filter voor bericht-eigenschappen wilt maken, voert u de sleutel van de bericht-eigenschap in die u zoekt en geeft u een voorwaarde op. Alleen telemetrieberichten met eigenschappen die overeenkomen met de opgegeven filtervoorwaarde worden geëxporteerd. Meer informatie over toepassingseigenschappen van IoT Hub docs
Eigenschapswijzigingen - Filteren op apparaatnaam, apparaat-id, apparaatsjabloon en of het apparaat wordt gesimuleerd
- Filterstroom zodat deze alleen eigenschapswijzigingen bevat die voldoen aan de filtervoorwaarden
Connectiviteit van apparaten - Filteren op apparaatnaam, apparaat-id, apparaatsjabloon, organisaties en of het apparaat is gesimuleerd
- Filterstroom om alleen wijzigingen van apparaten te bevatten met eigenschappen die overeenkomen met de filtervoorwaarden
Levenscyclus van apparaten - Filteren op apparaatnaam, apparaat-id, apparaatsjabloon en of het apparaat is ingericht, ingeschakeld of gesimuleerd
- Filterstroom om alleen wijzigingen van apparaten te bevatten met eigenschappen die overeenkomen met de filtervoorwaarden
Levenscyclus van apparaatsjabloon - Filteren op apparaatsjabloon
U kunt eventueel geëxporteerde berichten verrijken met extra metagegevens van sleutel-waardeparen. De volgende verrijkingen zijn beschikbaar voor de exporttypen telemetrie, eigenschapswijzigingen, apparaatconnectiviteit en gegevensexport van de levenscyclus van apparaten:
- Aangepaste tekenreeks: voegt een aangepaste statische tekenreeks toe aan elk bericht. Voer een sleutel in en voer een tekenreekswaarde in.
- Eigenschap, waarmee aan elk bericht wordt toegevoegd:
- Metagegevens van apparaten, zoals apparaatnaam, naam van apparaatsjabloon, ingeschakeld, organisaties, ingericht en gesimuleerd.
- De eigenschaps- of cloudwaarde van het huidige apparaat die aan elk bericht is gerapporteerd. Als het geëxporteerde bericht afkomstig is van een apparaat dat niet de opgegeven eigenschap heeft, krijgt het geëxporteerde bericht de verrijking niet.
De bestemming configureren:
Voeg een nieuwe bestemming toe of voeg een bestemming toe die u al hebt gemaakt. Selecteer de koppeling Een nieuwe maken en voeg de volgende informatie toe:
- Doelnaam: de weergavenaam van de bestemming in IoT Central.
- Doeltype: kies het type bestemming. Zie Exportbestemming instellen als u uw bestemming nog niet hebt ingesteld.
- Autorisatie: selecteer Verbindingsreeks.
- Voor Azure Event Hubs, Azure Service Bus wachtrij of onderwerp plakt u de connection string voor uw resource en voert u zo nodig de hoofdgevoelige event hub, wachtrij of onderwerpnaam in.
- Voor Azure Blob Storage plakt u de connection string voor uw resource en voert u zo nodig de hoofdgevoelige containernaam in.
- Plak voor Webhook de callback-URL voor uw webhook-eindpunt. U kunt desgewenst webhookautorisatie (OAuth 2.0 en autorisatie-token) configureren en aangepaste headers toevoegen.
- Voor OAuth 2.0 wordt alleen de clientreferentiestroom ondersteund. Wanneer de bestemming wordt opgeslagen, IoT Central communiceren met uw OAuth-provider om een autorisatie-token op te halen. Dit token wordt gekoppeld aan de header voor
Authorizationelk bericht dat naar deze bestemming wordt verzonden. - Voor autorisatie-token kunt u een tokenwaarde opgeven die rechtstreeks wordt gekoppeld aan de header voor
Authorizationelk bericht dat naar deze bestemming wordt verzonden.
- Voor OAuth 2.0 wordt alleen de clientreferentiestroom ondersteund. Wanneer de bestemming wordt opgeslagen, IoT Central communiceren met uw OAuth-provider om een autorisatie-token op te halen. Dit token wordt gekoppeld aan de header voor
- Selecteer Maken.
Selecteer + Doel en kies een bestemming in de vervolgkeuzekeuze. U kunt maximaal vijf bestemmingen toevoegen aan één export.
Wanneer u klaar bent met het instellen van de export, selecteert u Opslaan. Na enkele minuten worden uw gegevens weergegeven in uw bestemmingen.
Uw export bewaken
U kunt de status van uw exports controleren in IoT Central. U kunt ook Azure Monitor om te zien hoeveel gegevens u exporteert en eventuele exportfouten. U hebt toegang tot metrische gegevens voor export en apparaattoestand in grafieken in de Azure Portal, met een REST API of met query's in PowerShell of de Azure CLI. Op dit moment kunt u de volgende metrische gegevens voor gegevensexport bewaken in Azure Monitor:
- Het aantal binnenkomende berichten dat moet worden geëxporteerd voordat filters worden toegepast.
- Het aantal berichten dat door filters gaat.
- Het aantal berichten dat is geëxporteerd naar bestemmingen.
- Het aantal fouten dat is aangetroffen.
Zie Toepassingstoestand bewaken voor meer informatie.
Bestemmingen
Azure Blob Storage-doel
Gegevens worden eenmaal per minuut geëxporteerd, met elk bestand met de batch wijzigingen sinds de vorige export. Geëxporteerde gegevens worden opgeslagen in JSON-indeling. De standaardpaden naar de geëxporteerde gegevens in uw opslagaccount zijn:
- Telemetrie: {container}/{app-id}/{partition_id}/{YYYY}/{MM}/{dd}/{hh}/{mm}/{filename}
- Eigenschapswijzigingen: {container}/{app-id}/{partition_id}/{YYYY}/{MM}/{dd}/{hh}/{mm}/{filename}
Als u door de geëxporteerde bestanden in de Azure Portal, gaat u naar het bestand en selecteert u Blob bewerken.
Azure Event Hubs- en Azure Service Bus-bestemmingen
Gegevens worden bijna in realtime geëxporteerd. De gegevens hebben de bericht en hebben de JSON-indeling die is gecodeerd als UTF-8.
De aantekeningen of systeemeigenschappen van het bericht bevatten de velden , , en die dezelfde waarden hebben als de bijbehorende velden iotcentral-device-id iotcentral-application-id in de bericht iotcentral-message-source iotcentral-message-type body.
Azure Data Explorer doel
Gegevens worden bijna in realtime geëxporteerd naar een opgegeven databasetabel in Azure Data Explorer cluster. De gegevens hebben de bericht en hebben de JSON-indeling die is gecodeerd als UTF-8. U kunt een transformatie toevoegen in IoT Central gegevens te exporteren die overeenkomt met het tabelschema.
Als u een query wilt uitvoeren op de geëxporteerde gegevens in Azure Data Explorer portal, gaat u naar de database en selecteert u Query uitvoeren.
Webhookbestemming
Voor webhooksbestemmingen worden gegevens ook bijna in realtime geëxporteerd. De gegevens in de bericht body hebben dezelfde indeling als voor Event Hubs en Service Bus.
Telemetrie-indeling
Elk geëxporteerd bericht bevat een genormaliseerde vorm van het volledige bericht dat het apparaat in de bericht-body heeft verzonden. Het bericht heeft de JSON-indeling en is gecodeerd als UTF-8. Informatie in elk bericht omvat:
applicationId: De id van de IoT Central toepassing.messageSource: De bron voor het bericht -telemetry.deviceId: de id van het apparaat dat het telemetriebericht heeft verzonden.schema: De naam en versie van het payloadschema.templateId: de id van de apparaatsjabloon die aan het apparaat is gekoppeld.enqueuedTime: het tijdstip waarop dit bericht is ontvangen door IoT Central.enrichments: Verrijkingen die zijn ingesteld voor de export.module: de IoT Edge module die dit bericht heeft verzonden. Dit veld wordt alleen weergegeven als het bericht afkomstig is van een IoT Edge module.component: Het onderdeel dat dit bericht heeft verzonden. Dit veld wordt alleen weergegeven als de mogelijkheden die in het bericht worden verzonden, zijn gemodelleerd als onderdeel in de apparaatsjabloonmessageProperties: Andere eigenschappen die het apparaat heeft verzonden met het bericht. Deze eigenschappen worden ook wel toepassingseigenschappen genoemd. Meer informatie in IoT Hub docs.
Voor Event Hubs en Service Bus exporteert IoT Central een nieuw bericht snel nadat het bericht van een apparaat is ontvangen. In de gebruikerseigenschappen (ook wel toepassingseigenschappen genoemd) van elk bericht worden iotcentral-device-id de , en automatisch iotcentral-application-id iotcentral-message-source opgenomen.
Voor Blob Storage worden berichten één keer per minuut in batche uitgevoerd en geëxporteerd.
In het volgende voorbeeld ziet u een geëxporteerd telemetriebericht:
{
"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"
}
}
Berichteigenschappen
Telemetrieberichten hebben eigenschappen voor metagegevens naast de nettolading van de telemetrie. In het vorige fragment ziet u voorbeelden van systeemberichten zoals deviceId en enqueuedTime . Zie Systeemeigenschappen van D2C-IoT Hub voor meer informatie over de systeemberichteigenschappen.
U kunt eigenschappen toevoegen aan telemetrieberichten als u aangepaste metagegevens wilt toevoegen aan uw telemetrieberichten. U moet bijvoorbeeld een tijdstempel toevoegen wanneer het apparaat het bericht maakt.
Het volgende codefragment laat zien hoe u de eigenschap toevoegt aan het bericht iothub-creation-time-utc wanneer u deze op het apparaat maakt:
Belangrijk
De indeling van dit tijdstempel moet UTC zijn zonder tijdzone-informatie. Is bijvoorbeeld 2021-04-21T11:30:16Z geldig, 2021-04-21T11:30:16-07:00 is ongeldig.
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);
}
Het volgende codefragment toont deze eigenschap in het bericht dat is geëxporteerd naar 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":{}
}
Indeling van wijzigingen van eigenschappen
Elk bericht of record vertegenwoordigt wijzigingen in apparaat- en cloudeigenschappen. Informatie in het geëxporteerde bericht omvat:
applicationId: De id van de IoT Central toepassing.messageSource: De bron voor het bericht -properties.messageType:cloudPropertyChangeofweldevicePropertyDesiredChange, ofdevicePropertyReportedChange.deviceId: de id van het apparaat dat het telemetriebericht heeft verzonden.schema: De naam en versie van het payloadschema.enqueuedTime: het tijdstip waarop deze wijziging is gedetecteerd door IoT Central.templateId: de id van de apparaatsjabloon die aan het apparaat is gekoppeld.properties: Een matrix met eigenschappen die is gewijzigd, inclusief de namen van de eigenschappen en waarden die zijn gewijzigd. Informatie over het onderdeel en de module wordt opgenomen als de eigenschap is gemodelleerd binnen een onderdeel of een IoT Edge module.enrichments: Verrijkingen die zijn ingesteld voor de export.
Voor Event Hubs en Service Bus exporteert IoT Central nieuwe berichten in bijna realtime naar uw Event Hub of Service Bus wachtrij of onderwerp. In de gebruikerseigenschappen (ook wel toepassingseigenschappen genoemd) van elk bericht worden iotcentral-device-id de , , en automatisch iotcentral-application-id iotcentral-message-source iotcentral-message-type opgenomen.
Voor Blob Storage worden berichten één keer per minuut in batche uitgevoerd en geëxporteerd.
In het volgende voorbeeld ziet u een bericht over een geëxporteerde eigenschapswijziging dat is ontvangen in 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"
}
}
Indeling van wijzigingen in apparaatconnectiviteit
Elk bericht of record vertegenwoordigt een connectiviteitsgebeurtenis van één apparaat. Informatie in het geëxporteerde bericht omvat:
applicationId: De id van de IoT Central toepassing.messageSource: De bron voor het bericht -deviceConnectivity.messageType: ofconnecteddisconnected.deviceId: de id van het apparaat dat is gewijzigd.schema: De naam en versie van het payloadschema.templateId: de id van de apparaatsjabloon die aan het apparaat is gekoppeld.enqueuedTime: het tijdstip waarop deze wijziging heeft plaatsgevonden in IoT Central.enrichments: Verrijkingen die zijn ingesteld voor de export.
Voor Event Hubs en Service Bus exporteert IoT Central nieuwe berichten in bijna realtime naar uw Event Hub of Service Bus wachtrij of onderwerp. In de gebruikerseigenschappen (ook wel toepassingseigenschappen genoemd) van elk bericht worden iotcentral-device-id de , , en automatisch iotcentral-application-id iotcentral-message-source iotcentral-message-type opgenomen.
Voor Blob Storage worden berichten één keer per minuut in batche uitgevoerd en geëxporteerd.
In het volgende voorbeeld ziet u een bericht over geëxporteerde apparaatconnectiviteit dat is ontvangen in 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"
}
}
Indeling van wijzigingen in de levenscyclus van apparaten
Elk bericht of record vertegenwoordigt één wijziging in één apparaat. Informatie in het geëxporteerde bericht omvat:
applicationId: De id van de IoT Central toepassing.messageSource: De bron voor het bericht -deviceLifecycle.messageType: Het type wijziging dat is opgetreden. Een van:registered, , , , , , endeletedprovisionedenableddisableddisplayNameChangeddeviceTemplateChanged.deviceId: de id van het apparaat dat is gewijzigd.schema: De naam en versie van het payloadschema.templateId: de id van de apparaatsjabloon die aan het apparaat is gekoppeld.enqueuedTime: het tijdstip waarop deze wijziging heeft plaatsgevonden in IoT Central.enrichments: Verrijkingen die zijn ingesteld voor de export.
Voor Event Hubs en Service Bus exporteert IoT Central nieuwe berichten in bijna realtime naar uw Event Hub of Service Bus wachtrij of onderwerp. In de gebruikerseigenschappen (ook wel toepassingseigenschappen genoemd) van elk bericht worden iotcentral-device-id de , , en automatisch iotcentral-application-id iotcentral-message-source iotcentral-message-type opgenomen.
Voor Blob Storage worden berichten één keer per minuut in batche uitgevoerd en geëxporteerd.
In het volgende voorbeeld ziet u een bericht over de levenscyclus van een geëxporteerd apparaat dat is ontvangen in 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"
}
}
Indeling van wijzigingen in de levenscyclus van apparaatsjablonen
Elk bericht of record vertegenwoordigt één wijziging in één gepubliceerde apparaatsjabloon. Informatie in het geëxporteerde bericht omvat:
applicationId: De id van de IoT Central toepassing.messageSource: De bron voor het bericht -deviceTemplateLifecycle.messageType:createdofwelupdated, ofdeleted.schema: De naam en versie van het payloadschema.templateId: de id van de apparaatsjabloon die aan het apparaat is gekoppeld.enqueuedTime: het tijdstip waarop deze wijziging heeft plaatsgevonden in IoT Central.enrichments: Verrijkingen die zijn ingesteld voor de export.
Voor Event Hubs en Service Bus exporteert IoT Central nieuwe berichten in bijna realtime naar uw Event Hub of Service Bus wachtrij of onderwerp. In de gebruikerseigenschappen (ook wel toepassingseigenschappen genoemd) van elk bericht worden iotcentral-device-id de , , en automatisch iotcentral-application-id iotcentral-message-source iotcentral-message-type opgenomen.
Voor Blob Storage worden berichten één keer per minuut in batche uitgevoerd en geëxporteerd.
In het volgende voorbeeld ziet u een bericht over de levenscyclus van een geëxporteerd apparaat dat is ontvangen in 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"
}
}
Vergelijking van verouderde gegevensexport en gegevensexport
In de volgende tabel ziet u de verschillen tussen de verouderde functies voor gegevensexport en gegevensexport:
| Functies | Verouderde gegevensexport | Nieuwe gegevensexport |
|---|---|---|
| Beschikbare gegevenstypen | Telemetrie, apparaten, apparaatsjablonen | Telemetrie, wijzigingen in eigenschappen, wijzigingen in de apparaatconnectiviteit, wijzigingen in de levenscyclus van apparaten, wijzigingen in de levenscyclus van apparaatsjablonen |
| Filteren | Geen | Is afhankelijk van het gegevenstype dat is geëxporteerd. Voor telemetrie, filteren op telemetrie, berichteigenschappen, eigenschapswaarden |
| Verrijkingen | Geen | Verrijken met een aangepaste tekenreeks of een eigenschapswaarde op het apparaat |
| Bestemmingen | Azure Event Hubs, Azure Service Bus wachtrijen en onderwerpen, Azure Blob Storage | Hetzelfde als voor verouderde gegevensexport plus webhooks |
| Ondersteunde toepassingsversies | V2, V3 | Alleen V3 |
| Belangrijke limieten | Vijf exports per app, één bestemming per export | 10 exports-doelverbindingen per app |
Volgende stappen
Nu u weet hoe u gegevensexport moet configureren, is een voorgestelde volgende stap het leren transformeren van gegevens in uw IoT Central toepassing voor exporteren.