Gegevensgeschiedenis van Azure Digital Twins (met Azure Data Explorer)

Gegevensgeschiedenis is een integratiefunctie van Azure Digital Twins. Hiermee kunt u een Azure Digital Twins-exemplaar verbinden met een Azure Data Explorer-cluster, zodat updates van digitale dubbeleigenschappen automatisch worden historized naar Azure Data Explorer.

Zodra de waarden van dubbele eigenschappen zijn ge historiseerd naar Azure Data Explorer, kunt u gezamenlijke query's uitvoeren met behulp van de Azure Digital Twins-invoegtoepassing voor Azure Data Explorer om te redeneren tussen digitale dubbels, hun relaties en tijdreeksgegevens om inzicht te krijgen in het gedrag van gemodelleerde omgevingen. U kunt deze query's ook gebruiken om operationele dashboards aan te sturen, 2D- en 3D-webtoepassingen te verrijken en immersive augmented/mixed reality-ervaringen te stimuleren om de huidige en historische status over te brengen van assets, processen en personen die zijn gemodelleerd in Azure Digital Twins.

Bekijk de volgende IoT-video voor meer informatie over de gegevensgeschiedenis, inclusief een korte demo:

Resources en gegevensstroom

Voor de gegevensgeschiedenis zijn de volgende resources vereist:

Deze resources zijn verbonden met de volgende stroom:

Diagram met de stroom van telemetriegegevens naar Azure Digital Twins, via een Event Hub, naar Azure Data Explorer.

Gegevens worden in deze volgorde door deze resources verplaatst:

  1. Een eigenschap van een digitale dubbel in Azure Digital Twins wordt bijgewerkt.
  2. Met gegevensgeschiedenis wordt een bericht met de bijgewerkte eigenschapswaarde en metagegevens van de dubbel doorgestuurd naar de Event Hub.
  3. De Event Hub stuurt het bericht door naar het azure-doelcluster Data Explorer.
  4. Het Azure Data Explorer-cluster wijst de berichtvelden toe aan het gegevensgeschiedenisschema en slaat de gegevens op als een tijdstempelrecord in een gegevensgeschiedenistabel.

Wanneer u met gegevensgeschiedenis werkt, gebruikt u de versie 2022-05-31 van de API's.

Geschiedenis van meerdere Azure Digital Twins-exemplaren

Als u wilt, kunt u meerdere Azure Digital Twins-exemplaren updates van dubbele eigenschappen laten historiseren naar hetzelfde Azure Data Explorer-cluster.

Elk Azure Digital Twins-exemplaar heeft een eigen gegevensgeschiedenisverbinding die gericht is op hetzelfde Azure Data Explorer-cluster. In het cluster kunnen exemplaren hun dubbelgegevens verzenden naar een van beide...

  • verschillende tabellen in het Azure Data Explorer-cluster.
  • dezelfde tabel in het Azure Data Explorer-cluster. Hiertoe geeft u dezelfde Azure Data Explorer tabelnaam op tijdens het maken van de gegevensgeschiedenisverbindingen. In het tabelschema voor gegevensgeschiedenis bevat de ServiceId kolom de URL van het bronexemplaar van Azure Digital Twins, zodat u dit veld kunt gebruiken om op te lossen welk Azure Digital Twins-exemplaar elke record heeft verzonden.

Een gegevensgeschiedenisverbinding maken

Zodra alle resources en machtigingen zijn ingesteld, kunt u de Azure CLI, Azure Portal of de Azure Digital Twins SDK gebruiken om de gegevensgeschiedenisverbinding tussen deze resources te maken. De CLI-opdrachtenset is az dt data-history.

Zie Gegevensgeschiedenis gebruiken met Azure Data Explorer voor stapsgewijze instructies voor het instellen van een gegevensgeschiedenisverbinding.

Vereiste machtigingen

Als u een gegevensgeschiedenisverbinding wilt instellen, moet uw Azure Digital Twins-exemplaar de volgende machtigingen hebben voor toegang tot de Event Hubs- en Azure Data Explorer-resources. Met deze rollen kan Azure Digital Twins namens u de Event Hub en Azure Data Explorer-database configureren (bijvoorbeeld door een tabel in de database te maken). Deze machtigingen kunnen desgewenst worden verwijderd nadat de gegevensgeschiedenis is ingesteld.

  • Event Hubs-resource: Azure Event Hubs gegevenseigenaar
  • Azure Data Explorer-cluster: Inzender (bereik van het hele cluster of een specifieke database)
  • Azure Data Explorer database-principaltoewijzing: Beheer (bereik van de database die wordt gebruikt)

Later moet uw Azure Digital Twins-exemplaar de volgende machtiging hebben voor de Event Hubs-resource terwijl de gegevensgeschiedenis wordt gebruikt: Azure Event Hubs Afzender van gegevens (u kunt er ook voor kiezen om Azure Event Hubs gegevenseigenaar te behouden vanuit de instellingen van de gegevensgeschiedenis).

Deze machtigingen kunnen worden toegewezen met behulp van de Azure CLI of Azure Portal.

Gegevensschema

Tijdreeksgegevens voor updates van dubbeleigenschappen worden opgeslagen in Azure Data Explorer met het volgende schema:

Kenmerk Type Beschrijving
TimeStamp DateTime De datum/tijd waarop het updatebericht van de eigenschap is verwerkt door Azure Digital Twins. Dit veld wordt ingesteld door het systeem en is niet beschrijfbaar door gebruikers.
SourceTimeStamp DateTime Een optionele, beschrijfbare eigenschap die de tijdstempel vertegenwoordigt toen de eigenschapsupdate in de echte wereld werd waargenomen. Deze eigenschap kan alleen worden geschreven met de versie 2022-05-31 van de Azure Digital Twins-API's/SDK's en de waarde moet voldoen aan de iso 8601-datum- en tijdnotatie. Zie SourceTime van een eigenschap bijwerken voor meer informatie over het bijwerken van deze eigenschap.
ServiceId Tekenreeks De service-exemplaar-id van de Azure IoT-service die de record registreert
Id Tekenreeks De id van de tweeling
ModelId Tekenreeks De DTDL-model-id (DTMI)
Key Tekenreeks De naam van de bijgewerkte eigenschap
Value Dynamisch De waarde van de bijgewerkte eigenschap
RelationshipId Tekenreeks Wanneer een eigenschap die is gedefinieerd voor een relatie (in tegenstelling tot tweelingen of apparaten) wordt bijgewerkt, wordt dit veld gevuld met de id van de relatie. Wanneer een dubbele eigenschap wordt bijgewerkt, is dit veld leeg.
RelationshipTarget Tekenreeks Wanneer een eigenschap die is gedefinieerd voor een relatie (in tegenstelling tot tweelingen of apparaten) wordt bijgewerkt, wordt dit veld gevuld met de dubbel-id van de dubbel waarop de relatie is gericht. Wanneer een dubbele eigenschap wordt bijgewerkt, is dit veld leeg.

Hieronder ziet u een voorbeeldtabel met updates van dubbeleigenschappen die zijn opgeslagen in Azure Data Explorer.

TimeStamp SourceTimeStamp ServiceId Id ModelId Key Value RelationshipTarget RelationshipID
2021-06-30T20:23:29.8697482Z 2021-06-30T20:22:14.3854859Z myInstance.api.neu.digitaltwins.azure.net solar_plant_3 dtmi:example:grid:plants:solarPlant;1 Uitvoer 130
2021-06-30T20:23:39.3235925Z 2021-06-30T20:22:26.5837559Z myInstance.api.neu.digitaltwins.azure.net solar_plant_3 dtmi:example:grid:plants:solarPlant;1 Uitvoer 140
2021-06-30T20:23:47.078367Z 2021-06-30T20:22:34.9375957Z myInstance.api.neu.digitaltwins.azure.net solar_plant_3 dtmi:example:grid:plants:solarPlant;1 Uitvoer 130
2021-06-30T20:23:57.3794198Z 2021-06-30T20:22:50.1028562Z myInstance.api.neu.digitaltwins.azure.net solar_plant_3 dtmi:example:grid:plants:solarPlant;1 Uitvoer 123

Eigenschappen met meerdere velden weergeven

Mogelijk moet u een eigenschap met meerdere velden opslaan. Deze eigenschappen worden weergegeven met een JSON-object in het Value kenmerk van het schema.

Als u bijvoorbeeld een eigenschap vertegenwoordigt met drie velden voor rollen, pitchen en geeuw, wordt het volgende JSON-object in de gegevensgeschiedenis opgeslagen als : Value. {"roll": 20, "pitch": 15, "yaw": 45}

Prijzen

Berichten die worden verzonden door de gegevensgeschiedenis, worden gemeten onder de dimensie Berichtprijzen.

End-to-end opnamelatentie

De gegevensgeschiedenis van Azure Digital Twins bouwt voort op het bestaande opnamemechanisme van Azure Data Explorer. Azure Digital Twins zorgt ervoor dat updates van eigenschappen binnen minder dan twee seconden beschikbaar worden gesteld aan Azure Data Explorer. Er kan extra latentie worden geïntroduceerd door Azure Data Explorer het opnemen van de gegevens.

Er zijn twee methoden in Azure Data Explorer voor het opnemen van gegevens: batchopname en streamingopname. U kunt deze opnamemethoden voor afzonderlijke tabellen configureren op basis van uw behoeften en het specifieke scenario voor gegevensopname.

Streamingopname heeft de laagste latentie. Vanwege verwerkingsoverhead moet deze modus echter alleen worden gebruikt als er elk uur minder dan 4 GB aan gegevens wordt opgenomen. Batchopname werkt het beste als hoge opnamegegevenssnelheden worden verwacht. Azure Data Explorer maakt standaard gebruik van batchopname. De volgende tabel bevat een overzicht van de verwachte end-to-end-latentie in het slechtste geval:

Configuratie van Azure Data Explorer Verwachte end-to-end-latentie Aanbevolen gegevenssnelheid
Stroomopname <12 seconden (<3 sec. normaal) <4 GB per uur
Batchopname Varieert (12 sec-15 m, afhankelijk van de configuratie) >4 GB per uur

De rest van deze sectie bevat details voor het inschakelen van elk type opname.

Batchopname (standaard)

Als dit niet anders is geconfigureerd, gebruikt Azure Data Explorer batchopname. De standaardinstellingen kunnen ertoe leiden dat gegevens slechts 5-10 minuten na het bijwerken van een digitale dubbel beschikbaar zijn voor query's. Het opnamebeleid kan zodanig worden gewijzigd dat de batchverwerking maximaal elke 10 seconden (minimaal; of maximaal 15 minuten) plaatsvindt. Als u het opnamebeleid wilt wijzigen, moet de volgende opdracht worden uitgegeven in de Azure Data Explorer queryweergave:

.alter table <table_name> policy ingestionbatching @'{"MaximumBatchingTimeSpan":"00:00:10", "MaximumNumberOfItems": 500, "MaximumRawDataSizeMB": 1024}' 

Zorg ervoor dat <table_name> deze is vervangen door de naam van de tabel die voor u is ingesteld. MaximumBatchingTimeSpan moet worden ingesteld op het gewenste batchinterval. Het kan 5-10 minuten duren voordat het beleid van kracht wordt. Meer informatie over opnamebatch vindt u op de volgende koppeling: De opdracht Kusto IngestionBatching-beleidsbeheer.

Stroomopname

Het inschakelen van streamingopname bestaat uit twee stappen:

  1. Schakel opname van streaming in voor uw cluster. Deze actie hoeft slechts één keer te worden uitgevoerd. (Waarschuwing: dit heeft invloed op de hoeveelheid opslagruimte die beschikbaar is voor hot-cache en kan extra beperkingen met zich mee brengen). Zie Streamingopname configureren in uw Azure Data Explorer-cluster voor instructies.
  2. Voeg een streaming-opnamebeleid toe voor de gewenste tabel. Meer informatie over het inschakelen van streamingopname voor uw cluster vindt u in de Documentatie voor Azure Data Explorer: De opdracht Kusto IngestionBatching-beleidsbeheer.

Als u streamingopname wilt inschakelen voor uw Azure Digital Twins-gegevensgeschiedenistabel, moet de volgende opdracht worden gegeven in het queryvenster Azure Data Explorer:

.alter table <table_name> policy streamingingestion enable 

Zorg ervoor dat <table_name> deze is vervangen door de naam van de tabel die voor u is ingesteld. Het kan 5-10 minuten duren voordat het beleid van kracht wordt.

Volgende stappen

Zodra dubbele gegevens zijn historiseerd naar Azure Data Explorer, kunt u de Azure Digital Twins-queryinvoegtoepassing voor Azure Data Explorer gebruiken om query's uit te voeren op de gegevens. Lees hier meer over de invoegtoepassing: Query's uitvoeren met de Azure Data Explorer-invoegtoepassing.

U kunt ook dieper ingaan op de gegevensgeschiedenis met een voorbeeldscenario in deze procedure: Gegevensgeschiedenis gebruiken met Azure Data Explorer.