Historie dat Azure Digital Twins (s Azure Data Explorerem)
Historie dat je funkce integrace služby Azure Digital Twins. Umožňuje připojit instanci Azure Digital Twins ke clusteru Azure Data Exploreru , aby se aktualizace grafu automaticky historizovaly do Azure Data Exploreru. Mezi tyto historizované aktualizace patří aktualizace vlastností dvojčat, události životního cyklu dvojčat a události životního cyklu vztahu.
Jakmile se aktualizace grafu historizují do Azure Data Exploreru, můžete spouštět společné dotazy pomocí modulu plug-in Azure Digital Twins pro Azure Data Explorer a zdůvodnit mezi digitálními dvojčaty, jejich vztahy a daty časových řad. Dá se použít k tomu, abyste se v čase podívali na stav grafu, který se používá, nebo abyste získali přehled o chování modelovaných prostředí. Tyto dotazy můžete také použít k podpoře provozních řídicích panelů, obohacení 2D a 3D webových aplikací a k podpoře moderních prostředí rozšířené/hybridní reality, která zprostředkovávají aktuální a historický stav aktiv, procesů a lidí modelovaných ve službě Azure Digital Twins.
Další informace o úvodu do historie dat, včetně rychlé ukázky, najdete v následujícím videu o IoT:
Zprávy generované historií dat se měří v rámci dimenze Ceny zpráv.
Požadavky: Prostředky a oprávnění
Historie dat vyžaduje následující zdroje informací:
- Instance Azure Digital Twins s povolenou spravovanou identitou přiřazenou systémem
- Obor názvů služby Event Hubs obsahující centrum událostí.
- Cluster Azure Data Exploreru obsahující databázi. Cluster musí mít povolený přístup k veřejné síti.
Tyto prostředky jsou připojené k následujícímu toku:
Když se graf digitálního dvojčete aktualizuje, informace procházejí centrem událostí do cílového clusteru Azure Data Exploreru, kde Azure Data Explorer ukládá data jako záznam s časovým razítkem do odpovídající tabulky.
Při práci s historií dat se doporučuje použít rozhraní API verze 2023-01-31 nebo novější. U verze 2022-05-31 je možné historizovat pouze vlastnosti dvojčete (nikoli životní cyklus dvojčete nebo události životního cyklu vztahu). U starších verzí není historie dat dostupná.
Požadována oprávnění
Aby bylo možné nastavit připojení historie dat, musí mít vaše instance Služby Azure Digital Twins následující oprávnění pro přístup k prostředkům služby Event Hubs a Azure Data Exploreru. Tyto role umožňují službě Azure Digital Twins nakonfigurovat centrum událostí a databázi Azure Data Exploreru vaším jménem (například vytvoření tabulky v databázi). Tato oprávnění je možné volitelně odebrat po nastavení historie dat.
- Prostředek event Hubs: Vlastník dat služby Azure Event Hubs
- Cluster Azure Data Explorer: Přispěvatel (vymezený na celý cluster nebo konkrétní databázi)
- Přiřazení instančního objektu databáze Azure Data Exploreru: Správa (vymezený na použitou databázi)
Později musí mít vaše instance Služby Azure Digital Twins následující oprávnění k prostředku služby Event Hubs, zatímco se používá historie dat: Odesílatel dat služby Azure Event Hubs (můžete se také rozhodnout ponechat vlastníka dat Služby Azure Event Hubs před nastavením historie dat).
Tato oprávnění je možné přiřadit pomocí Azure CLI nebo webu Azure Portal.
Pokud chcete omezit síťový přístup k prostředkům, které jsou součástí historie dat (instance služby Azure Digital Twins, centrum událostí nebo cluster Azure Data Explorer), měli byste tato omezení nastavit po nastavení připojení historie dat. Další informace o tomto procesu naleznete v tématu Omezení síťového přístupu k prostředkům historie dat.
Vytvoření a správa připojení historie dat
Tato část obsahuje informace o vytváření, aktualizaci a odstraňování připojení historie dat.
Vytvoření připojení historie dat
Jakmile nastavíte všechny prostředky a oprávnění, můžete mezi nimi vytvořit připojení historie dat pomocí Azure CLI, webu Azure Portal nebo sady SDK služby Azure Digital Twins. Sada příkazů rozhraní příkazového řádku je az dt data-history.
Příkaz vždy vytvoří tabulku pro události vlastností historizovaného dvojčete, které můžou použít výchozí název nebo vlastní název, který zadáte. Odstranění vlastností dvojčete lze volitelně zahrnout do této tabulky. Můžete také zadat názvy tabulek pro události životního cyklu relace a události životního cyklu dvojčat a příkaz vytvoří tabulky s těmito názvy pro historizaci těchto typů událostí.
Podrobné pokyny k nastavení připojení historie dat najdete v tématu Vytvoření připojení historie dat.
Historie z několika instancí Azure Digital Twins
Pokud chcete, můžete mít několik instancí Azure Digital Twins, které historizují aktualizace do stejného clusteru Azure Data Exploreru.
Každá instance Azure Digital Twins bude mít vlastní připojení historie dat, které cílí na stejný cluster Azure Data Exploreru. V rámci clusteru můžou instance odesílat data dvojčete do obou...
- samostatná sada tabulek v clusteru Azure Data Exploreru.
- stejnou sadu tabulek v clusteru Azure Data Exploreru. Uděláte to tak, že při vytváření připojení historie dat zadáte stejné názvy tabulek Azure Data Exploreru. Ve schématech tabulek
ServiceId
historie dat bude sloupec v každé tabulce obsahovat adresu URL zdrojové instance Služby Azure Digital Twins, takže toto pole můžete použít k vyřešení toho, která instance služby Azure Digital Twins vygenerovala každý záznam ve sdílených tabulkách.
Aktualizace připojení historie dat jen pro vlastnosti
Před únorem 2023 se funkce historie dat aktualizovala pouze vlastnost historizovaného dvojčete. Pokud máte připojení historie dat jen pro vlastnosti od této doby, můžete ho aktualizovat tak, aby se všechny aktualizace grafu aktualizovaly do Azure Data Exploreru (včetně vlastností dvojčat, událostí životního cyklu dvojčat a událostí životního cyklu relace).
To bude vyžadovat vytvoření nových tabulek v clusteru Azure Data Exploreru pro nové typy historizovaných aktualizací (události životního cyklu dvojčat a události životního cyklu relací). U událostí vlastností dvojčete můžete rozhodnout, jestli chcete, aby nové připojení dál používalo stejnou tabulku z původního připojení historie dat k ukládání aktualizací vlastností dvojčete, nebo jestli chcete, aby nové připojení používalo zcela novou sadu tabulek. Pak podle následujících pokynů postupujte podle svých preferencí.
Pokud chcete pokračovat v používání stávající tabulky pro aktualizace vlastností dvojčete: Pomocí pokynů v tématu Vytvoření připojení historie dat vytvořte nové připojení historie dat s novými možnostmi. Název připojení historie dat může být stejný jako původní nebo jiný název. Pomocí možností parametru můžete zadat nové názvy dvou tabulek typu události a předat původní název tabulky pro vlastnost dvojčete aktualizuje tabulku. Nové připojení přepíše staré a bude nadále používat původní tabulku pro budoucí aktualizace historizované vlastnosti dvojčete.
Pokud chcete použít všechny nové tabulky: Nejprve odstraňte původní připojení historie dat. Potom pomocí pokynů v části Vytvoření připojení historie dat vytvořte nové připojení historie dat s novými možnostmi. Název připojení historie dat může být stejný jako původní nebo jiný název. Pomocí možností parametru můžete zadat nové názvy všech tří tabulek typu událostí.
Odstranění připojení historie dat
K odstranění připojení historie dat můžete použít Rozhraní příkazového řádku Azure, Azure Portal nebo rozhraní API služby Azure Digital Twins a sady SDK. Příkaz rozhraní příkazového řádku je az dt data-history connection delete.
Odstranění připojení také umožňuje vyčistit prostředky přidružené k připojení historie dat (pro příkaz rozhraní příkazového řádku je volitelný parametr, který chcete přidat --clean true
). Pokud použijete tuto možnost, příkaz odstraní prostředky v Azure Data Exploreru, které slouží k propojení clusteru s centrem událostí, včetně datových připojení pro databázi a mapování příjmu dat přidružených k vaší tabulce. Možnost Vyčistit prostředky neodstraní skutečné centrum událostí a cluster Azure Data Explorer použitý pro připojení historie dat.
Vyčištění je pokus o nejlepší úsilí a vyžaduje, aby účet, který spouští příkaz, měl oprávnění k odstranění těchto prostředků.
Poznámka:
Pokud máte více připojení historie dat, která sdílejí stejné centrum událostí nebo cluster Azure Data Exploreru, může odstranění jednoho z těchto připojení narušit ostatní připojení historie dat, která na těchto prostředcích spoléhají.
Datové typy a schémata
Historie dat historizuje tři typy událostí z vaší instance Azure Digital Twins do Azure Data Exploreru: události životního cyklu relace, události životního cyklu dvojčat a aktualizace vlastností dvojčete (které můžou volitelně zahrnovat odstranění vlastností dvojčete). Každý z těchto typů událostí je uložený ve své vlastní tabulce v databázi Azure Data Exploreru, což znamená, že historie dat uchovává tři tabulky celkem. Při nastavování připojení historie dat můžete pro tabulky zadat vlastní názvy.
Zbytek této části podrobně popisuje tři tabulky Azure Data Exploreru, včetně schématu dat pro každou tabulku.
Aktualizace vlastností dvojčete
Tabulka Azure Data Exploreru pro aktualizace vlastností dvojčete má výchozí název AdtPropertyEvents. Při vytváření připojení můžete ponechat výchozí název nebo zadat vlastní název tabulky.
Data časových řad pro aktualizace vlastností dvojčete se ukládají s následujícím schématem:
Atribut | Typ | Popis |
---|---|---|
TimeStamp |
DateTime | Zpráva o aktualizaci vlastnosti byla zpracována službou Azure Digital Twins. Toto pole nastavuje systém a uživatelé ho nemůžou zapisovat. |
SourceTimeStamp |
DateTime | Volitelná zapisovatelná vlastnost představující časové razítko při aktualizaci vlastnosti byla pozorována v reálném světě. Tuto vlastnost lze zapsat pouze pomocí verze 2022-05-31 rozhraní API a sad SDK služby Azure Digital Twins a hodnota musí být v souladu s formátem data a času ISO 8601. Další informace o tom, jak tuto vlastnost aktualizovat, naleznete v tématu Aktualizace zdrojového času vlastnosti. |
ServiceId |
String | ID instance služby služby Azure IoT, která protokoluje záznam |
Id |
String | ID dvojčete |
ModelId |
String | ID modelu DTDL (DTMI) |
Key |
String | Název aktualizované vlastnosti |
Value |
dynamicky, | Hodnota aktualizované vlastnosti |
RelationshipId |
String | Když se aktualizuje vlastnost definovaná u relace (na rozdíl od dvojčat nebo zařízení), toto pole se naplní ID relace. Při aktualizaci vlastnosti dvojčete je toto pole prázdné. |
RelationshipTarget |
String | Pokud se aktualizuje vlastnost definovaná v relaci (na rozdíl od dvojčat nebo zařízení), toto pole se naplní ID dvojčete, na které cílí relace. Při aktualizaci vlastnosti dvojčete je toto pole prázdné. |
Action |
String | Tento sloupec existuje pouze v případě, že se rozhodnete události odstranění vlastnosti historize. Pokud ano, tento sloupec obsahuje typ události vlastnosti dvojčete (aktualizace nebo odstranění). |
Níže je příklad tabulky aktualizací vlastností dvojčat uložených v Azure Data Exploreru.
TimeStamp |
SourceTimeStamp |
ServiceId |
Id |
ModelId |
Key |
Value |
RelationshipTarget |
RelationshipID |
---|---|---|---|---|---|---|---|---|
2022-12-15 20:23:29.8697482 | 2022-12-15 20:22:14.3854859 | dairyadtinstance.api.wcus.digitaltwins.azure.net | PasteurizationMachine_A01 | dtmi:assetGen:PasteurizationMachine;1 |
Výstup | 130 | ||
2022-12-15 20:23:39.3235925 | 2022-12-15 20:22:26.5837559 | dairyadtinstance.api.wcus.digitaltwins.azure.net | PasteurizationMachine_A01 | dtmi:assetGen:PasteurizationMachine;1 |
Výstup | 140 | ||
2022-12-15 20:23:47.078367 | 2022-12-15 20:22:34.9375957 | dairyadtinstance.api.wcus.digitaltwins.azure.net | PasteurizationMachine_A01 | dtmi:assetGen:PasteurizationMachine;1 |
Výstup | 130 | ||
2022-12-15 20:23:57.3794198 | 2022-12-15 20:22:50.1028562 | dairyadtinstance.api.wcus.digitaltwins.azure.net | PasteurizationMachine_A01 | dtmi:assetGen:PasteurizationMachine;1 |
Výstup | 123 |
Reprezentace vlastností s více poli
Možná budete muset uložit vlastnost s více poli. Tyto vlastnosti jsou reprezentovány objektem JSON v Value
atributu schématu.
Pokud například představujete vlastnost se třemi poli pro roll, pitch a yaw, historie dat uloží následující objekt JSON jako Value
: {"roll": 20, "pitch": 15, "yaw": 45}
.
Události životního cyklu dvojčat
Tabulka Azure Data Exploreru pro události životního cyklu dvojčat má vlastní název, který zadáte při vytváření připojení historie dat.
Data časových řad pro události životního cyklu dvojčat se ukládají s následujícím schématem:
Atribut | Typ | Description |
---|---|---|
TwinId |
String | ID dvojčete |
Action |
String | Typ události životního cyklu dvojčete (vytvoření nebo odstranění) |
TimeStamp |
DateTime | Událost životního cyklu dvojčete zpracovala služba Azure Digital Twins. Toto pole nastavuje systém a uživatelé ho nemůžou zapisovat. |
ServiceId |
String | ID instance služby služby Azure IoT, která protokoluje záznam |
ModelId |
String | ID modelu DTDL (DTMI) |
Níže je příklad tabulky aktualizací životního cyklu dvojčat uložených v Azure Data Exploreru.
TwinId |
Action |
TimeStamp |
ServiceId |
ModelId |
---|---|---|---|---|
PasteurizationMachine_A01 | Vytvoření | 2022-12-15 07:14:12.4160 | dairyadtinstance.api.wcus.digitaltwins.azure.net | dtmi:assetGen:PasteurizationMachine;1 |
PasteurizationMachine_A02 | Vytvoření | 2022-12-15 07:14:12.4210 | dairyadtinstance.api.wcus.digitaltwins.azure.net | dtmi:assetGen:PasteurizationMachine;1 |
SaltMachine_C0 | Vytvoření | 2022-12-15 07:14:12.5480 | dairyadtinstance.api.wcus.digitaltwins.azure.net | dtmi:assetGen:SaltMachine;1 |
PasteurizationMachine_A02 | Odstranění | 2022-12-15 07:15:49.6050 | dairyadtinstance.api.wcus.digitaltwins.azure.net | dtmi:assetGen:PasteurizationMachine;1 |
Události životního cyklu vztahu
Tabulka Azure Data Exploreru pro události životního cyklu relace má vlastní název, který zadáte při vytváření připojení historie dat.
Data časových řad pro události životního cyklu vztahu se ukládají s následujícím schématem:
Atribut | Typ | Description |
---|---|---|
RelationshipId |
String | ID relace. Toto pole nastavuje systém a uživatelé ho nemůžou zapisovat. |
Name |
String | Název relace |
Action |
Typ události životního cyklu relace (vytvoření nebo odstranění) | |
TimeStamp |
DateTime | Událost životního cyklu relace zpracovala služba Azure Digital Twins. Toto pole nastavuje systém a uživatelé ho nemůžou zapisovat. |
ServiceId |
ID instance služby služby Azure IoT, která protokoluje záznam | |
Source |
ID zdrojového dvojčete. Toto je ID dvojčete, kde relace pochází. | |
Target |
ID cílového dvojčete. Toto je ID dvojčete, do kterého relace přichází. |
Níže je příklad tabulky aktualizací životního cyklu relací uložených v Azure Data Exploreru.
RelationshipId |
Name |
Action |
TimeStamp |
ServiceId |
Source |
Target |
---|---|---|---|---|---|---|
PasteurizationMachine_A01_feeds_Relationship0 | Kanály | Vytvoření | 2022-12-15 07:16:12.7120 | dairyadtinstance.api.wcus.digitaltwins.azure.net | PasteurizationMachine_A01 | SaltMachine_C0 |
PasteurizationMachine_A02_feeds_Relationship0 | Kanály | Vytvoření | 2022-12-15 07:16:12.7160 | dairyadtinstance.api.wcus.digitaltwins.azure.net | PasteurizationMachine_A02 | SaltMachine_C0 |
PasteurizationMachine_A03_feeds_Relationship0 | Kanály | Vytvoření | 2022-12-15 07:16:12.7250 | dairyadtinstance.api.wcus.digitaltwins.azure.net | PasteurizationMachine_A03 | SaltMachine_C1 |
OsloFactory_contains_Relationship0 | obsahuje | Odstranění | 2022-12-15 07:16:13.1780 | dairyadtinstance.api.wcus.digitaltwins.azure.net | OsloFactory | SaltMachine_C0 |
Latence příjmu dat od konce do konce
Historie dat Azure Digital Twins vychází ze stávajícího mechanismu příjmu dat, který poskytuje Azure Data Explorer. Azure Digital Twins zajistí, že se události aktualizace grafu zpřístupní Azure Data Exploreru během méně než dvou sekund. Azure Data Explorer může zavést další latenci, která data ingestuje.
V Azure Data Exploreru existují dvě metody pro příjem dat: příjem dávek a příjem dat streamování. Tyto metody příjmu dat můžete nakonfigurovat pro jednotlivé tabulky podle vašich potřeb a konkrétního scénáře příjmu dat.
Příjem dat streamování má nejnižší latenci. Kvůli režii na zpracování by se ale tento režim měl použít pouze v případě, že se každou hodinu ingestuje méně než 4 GB dat. Dávkové příjem dat funguje nejlépe, pokud se očekává vysoká míra příjmu dat. Azure Data Explorer ve výchozím nastavení používá dávkové příjem dat. Následující tabulka shrnuje očekávanou kompletní latenci nejhoršího případu:
Konfigurace Azure Data Exploreru | Očekávaná komplexní latence | Doporučená rychlost dat |
---|---|---|
Ingestování streamování | <12 sekund (<typický 3 sekundy) | <4 GB za hodinu |
Dávkové příjem dat | Liší se (12 sekund-15 m v závislosti na konfiguraci) | >4 GB za hodinu |
Zbytek této části obsahuje podrobnosti o povolení jednotlivých typů příjmu dat.
Dávkové příjem dat (výchozí)
Pokud není nakonfigurované jinak, Azure Data Explorer použije dávkové příjem dat. Výchozí nastavení může vést k tomu, že data budou k dispozici pouze 5 až 10 minut po provedení aktualizace digitálního dvojčete. Zásady příjmu dat je možné změnit tak, aby dávkové zpracování probíhalo maximálně každých 10 sekund (minimálně nebo maximálně 15 minut). Pokud chcete změnit zásady příjmu dat, musí být v zobrazení dotazu Azure Data Exploreru vydán následující příkaz:
.alter table <table_name> policy ingestionbatching @'{"MaximumBatchingTimeSpan":"00:00:10", "MaximumNumberOfItems": 500, "MaximumRawDataSizeMB": 1024}'
Ujistěte se, že <table_name>
je nahrazen názvem tabulky, která byla nastavena za vás. Parametr MaximumBatchingTimeSpan by měl být nastavený na upřednostňovaný interval dávkování. Může trvat 5 až 10 minut, než se zásada projeví. Další informace o dávkování příjmu dat najdete na následujícím odkazu: Příkaz pro správu zásad Kusto IngestionBatching.
Ingestování streamování
Povolení příjmu dat streamování je dvoustupňový proces:
- Povolte příjem dat streamování pro váš cluster. Tuto akci je potřeba provést jenom jednou. (Upozornění: Pokud to uděláte, bude mít vliv na množství úložiště dostupného pro horkou mezipaměť a může dojít k dalším omezením). Pokyny najdete v tématu Konfigurace příjmu streamovaných dat v clusteru Azure Data Exploreru.
- Přidejte zásadu příjmu dat streamování pro požadovanou tabulku. Další informace o povolení příjmu dat streamování pro váš cluster najdete v dokumentaci k Azure Data Exploreru: Příkaz pro správu zásad Kusto IngestionBatching.
Pokud chcete povolit příjem dat streamování pro tabulku historie dat Azure Digital Twins, musí být v podokně dotazů Azure Data Exploreru vydán následující příkaz:
.alter table <table_name> policy streamingingestion enable
Ujistěte se, že <table_name>
je nahrazen názvem tabulky, která byla nastavena za vás. Může trvat 5 až 10 minut, než se zásada projeví.
Vizualizace historizovaných vlastností
Azure Digital Twins Explorer, vývojářský nástroj pro vizualizaci a interakci s daty Azure Digital Twins, nabízí funkci Průzkumníka historie dat pro zobrazení historizovaných vlastností v grafu nebo tabulce v průběhu času. Tato funkce je dostupná také v 3D scénách Studio, což je imerzivní 3D prostředí pro poskytování vizuálního kontextu 3D prostředků azure Digital Twins.
Podrobnější informace o používání Průzkumníka historie dat najdete v tématu Ověření a prozkoumání historizovaných vlastností.
Poznámka:
Pokud při výběru vlastnosti v průzkumníku vizuálních dat narazíte na problémy, může to znamenat, že v nějakém modelu ve vaší instanci došlo k chybě. Například pokud mají ne jedinečné hodnoty výčtu v atributech modelu, přeruší se tato funkce vizualizace. Pokud k tomu dojde, zkontrolujte definice modelu a ujistěte se, že jsou všechny vlastnosti platné.
Další kroky
Jakmile se data dvojčete historizují do Azure Data Exploreru, můžete pomocí modulu plug-in dotazů Azure Digital Twins pro Azure Data Explorer spouštět dotazy napříč daty. Další informace o modulu plug-in najdete tady: Dotazování pomocí modulu plug-in Azure Data Explorer.
Nebo se ponořte hlouběji do historie dat s pokyny k vytvoření a ukázkovým scénářem: Vytvoření připojení historie dat.