Cronologia dei dati di Gemelli digitali di Azure (con Azure Esplora dati)

La cronologia dei dati è una funzionalità di integrazione di Gemelli digitali di Azure. Consente di connettere un'istanza di Gemelli digitali di Azure a un cluster di Azure Esplora dati in modo che gli aggiornamenti del grafo vengano automaticamente istorizzati ad Azure Esplora dati. Questi aggiornamenti istorizzati includono gli aggiornamenti delle proprietà gemelle, gli eventi del ciclo di vita dei gemelli e gli eventi del ciclo di vita delle relazioni.

Dopo che gli aggiornamenti del grafo vengono istorizzati in Azure Esplora dati, è possibile eseguire query comuni usando il plug-in Gemelli digitali di Azure per Azure Esplora dati per motivi tra gemelli digitali, le relative relazioni e i dati delle serie temporali. Può essere usato per esaminare in tempo lo stato del grafico usato per ottenere informazioni dettagliate sul comportamento degli ambienti modellati. Puoi anche usare le query per potenziare dashboard operativi, arricchire applicazioni Web 2D e 3D e favorire esperienze di realtà aumentata/mista immersive per trasmettere lo stato corrente e cronologico di risorse, processi e persone di cui è stata eseguita la modellazione in Gemelli digitali di Azure.

Per altre informazioni sulla cronologia dei dati, inclusa una demo rapida, guardare il video seguente:

I messaggi generati dalla cronologia dei dati vengono a consumo nella dimensione dei prezzi dei messaggi.

Prerequisiti: risorse e autorizzazioni

La cronologia dei dati richiede le risorse seguenti:

  • Istanza di Gemelli digitali di Azure, con un'identità gestita assegnata dal sistema abilitata.
  • Spazio dei nomi di Hub eventi contenente un hub eventi.
  • Cluster Esplora dati di Azure contenente un database. Il cluster deve avere l'accesso alla rete pubblica abilitato.

Queste risorse sono connesse al flusso seguente:

Diagram showing the flow of device telemetry data into Azure Digital Twins, through an event hub, to Azure Data Explorer.

Quando il grafo di Gemelli digitali viene aggiornato, le informazioni passano attraverso l'hub eventi nel cluster di Azure Esplora dati di destinazione, in cui Azure Esplora dati archivia i dati come record timestamp nella tabella corrispondente.

Quando si usa la cronologia dei dati, è consigliabile usare la versione 2023-01-31 o successiva delle API. Con la versione 2022-05-31 , è possibile istorizzare solo le proprietà gemelle (non gli eventi relativi al ciclo di vita dei gemelli o al ciclo di vita delle relazioni). Con le versioni precedenti, la cronologia dei dati non è disponibile.

Autorizzazioni necessarie

Per configurare una connessione alla cronologia dei dati, l'istanza di Gemelli digitali di Azure deve avere le autorizzazioni seguenti per accedere alle risorse di Hub eventi e di Azure Esplora dati. Questi ruoli consentono a Gemelli digitali di Azure di configurare l'hub eventi e il database di Azure Esplora dati per conto dell'utente, ad esempio creando una tabella nel database. Queste autorizzazioni possono essere rimosse facoltativamente dopo la configurazione della cronologia dei dati.

  • Risorsa hub eventi: proprietario dei dati Hub eventi di Azure
  • Cluster di Azure Esplora dati: Collaboratore (con ambito per l'intero cluster o database specifico)
  • Assegnazione dell'entità di database di Azure Esplora dati: Amministrazione (con ambito per il database in uso)

Successivamente, l'istanza di Gemelli digitali di Azure deve avere l'autorizzazione seguente per la risorsa di Hub eventi mentre viene usata la cronologia dei dati: Hub eventi di Azure Mittente dati (è anche possibile acconsentire esplicitamente a mantenere Hub eventi di Azure proprietario dei dati dalla configurazione della cronologia dei dati).

Queste autorizzazioni possono essere assegnate usando l'interfaccia della riga di comando di Azure o portale di Azure.

Se si vuole limitare l'accesso di rete alle risorse coinvolte nella cronologia dei dati (l'istanza di Gemelli digitali di Azure, l'hub eventi o il cluster di Azure Esplora dati), è necessario impostare tali restrizioni dopo aver configurato la connessione alla cronologia dati. Per altre informazioni su questo processo, vedere Limitare l'accesso di rete alle risorse della cronologia dei dati.

Creare e gestire la connessione alla cronologia dei dati

Questa sezione contiene informazioni per la creazione, l'aggiornamento e l'eliminazione di una connessione alla cronologia dati.

Creare una connessione alla cronologia dati

Dopo aver configurato tutte le risorse e le autorizzazioni, è possibile usare l'interfaccia della riga di comando di Azure, portale di Azure o Azure Digital Twins SDK per creare la connessione alla cronologia dei dati tra di esse. Il set di comandi dell'interfaccia della riga di comando è az dt data-history.

Il comando creerà sempre una tabella per gli eventi delle proprietà gemelle istorizzate, che possono usare il nome predefinito o un nome personalizzato specificato. Le eliminazioni delle proprietà gemelle possono essere facoltativamente incluse in questa tabella. È anche possibile specificare nomi di tabella per gli eventi del ciclo di vita delle relazioni e gli eventi del ciclo di vita dei gemelli e il comando creerà tabelle con tali nomi per istorizzare tali tipi di evento.

Per istruzioni dettagliate su come configurare una connessione alla cronologia dati, vedere Creare una connessione cronologia dati.

Cronologia da più istanze di Gemelli digitali di Azure

Se si vuole, è possibile avere più istanze di Gemelli digitali di Azure che istogrammano gli aggiornamenti allo stesso cluster di Azure Esplora dati.

Ogni istanza di Gemelli digitali di Azure avrà la propria connessione alla cronologia dei dati destinata allo stesso cluster di Azure Esplora dati. All'interno del cluster, le istanze possono inviare i propri dati gemelli a uno dei due tipi di dati...

  • un set separato di tabelle nel cluster Esplora dati di Azure.
  • lo stesso set di tabelle nel cluster Esplora dati di Azure. A tale scopo, specificare gli stessi nomi di tabella di Azure Esplora dati durante la creazione delle connessioni della cronologia dati. Negli schemi della tabella della cronologia dei dati, la ServiceId colonna in ogni tabella conterrà l'URL dell'istanza di Gemelli digitali di Azure di origine, quindi è possibile usare questo campo per risolvere l'istanza di Gemelli digitali di Azure che ha generato ogni record nelle tabelle condivise.

Aggiornare una connessione alla cronologia dei dati di sola proprietà

Prima di febbraio 2023, la cronologia dei dati include solo gli aggiornamenti delle proprietà dei gemelli istorizzati. Se si dispone di una connessione alla cronologia dei dati di sola proprietà da quel momento, è possibile aggiornarla per aggiornare tutti gli aggiornamenti del grafo ad Azure Esplora dati (incluse le proprietà dei dispositivi gemelli, gli eventi del ciclo di vita dei gemelli e gli eventi del ciclo di vita delle relazioni).

Ciò richiederà la creazione di nuove tabelle nel cluster di azure Esplora dati per i nuovi tipi di aggiornamenti istorizzati (eventi del ciclo di vita dei gemelli ed eventi del ciclo di vita delle relazioni). Per gli eventi delle proprietà gemelle, è possibile decidere se si vuole che la nuova connessione continui a usare la stessa tabella dalla connessione della cronologia dati originale per archiviare gli aggiornamenti delle proprietà gemelle in futuro o se si vuole che la nuova connessione usi un nuovo set di tabelle. Seguire quindi le istruzioni riportate di seguito per le preferenze.

Per continuare a usare la tabella esistente per gli aggiornamenti delle proprietà gemelle: usare le istruzioni in Creare una connessione cronologia dati per creare una nuova connessione cronologia dati con le nuove funzionalità. Il nome della connessione della cronologia dati può essere uguale a quello originale o a un nome diverso. Usare le opzioni dei parametri per specificare nuovi nomi per le due nuove tabelle dei tipi di evento e passare il nome della tabella originale per la tabella degli aggiornamenti delle proprietà gemelle. La nuova connessione eseguirà l'override di quella precedente e continuerà a usare la tabella originale per futuri aggiornamenti delle proprietà dei gemelli istorizzati.

Per usare tutte le nuove tabelle: eliminare prima di tutto la connessione alla cronologia dati originale. Usare quindi le istruzioni in Creare una connessione cronologia dati per creare una nuova connessione alla cronologia dati con le nuove funzionalità. Il nome della connessione della cronologia dati può essere uguale a quello originale o a un nome diverso. Usare le opzioni dei parametri per specificare nuovi nomi per tutte e tre le tabelle dei tipi di evento.

Eliminare una connessione alla cronologia dati

È possibile usare l'interfaccia della riga di comando di Azure, portale di Azure o le API e gli SDK di Gemelli digitali di Azure per eliminare una connessione alla cronologia dei dati. Il comando dell'interfaccia della riga di comando è az dt data-history connection delete.

L'eliminazione di una connessione offre anche la possibilità di pulire le risorse associate alla connessione alla cronologia dati (per il comando dell'interfaccia della riga di comando, il parametro facoltativo da aggiungere è --clean true). Se si usa questa opzione, il comando eliminerà le risorse all'interno di Azure Esplora dati usate per collegare il cluster all'hub eventi, incluse le connessioni dati per il database e i mapping di inserimento associati alla tabella. L'opzione "pulire le risorse" non eliminerà l'hub eventi effettivo e il cluster di Azure Esplora dati usato per la connessione alla cronologia dati.

La pulizia è un tentativo di lavoro ottimale e richiede che l'account che esegue il comando disponga dell'autorizzazione di eliminazione per queste risorse.

Nota

Se si dispone di più connessioni cronologia dati che condividono lo stesso hub eventi o cluster di Azure Esplora dati, l'opzione "pulisci risorse" durante l'eliminazione di una di queste connessioni può compromettere le altre connessioni della cronologia dati che si basano su queste risorse.

Tipi di dati e schemi

La cronologia dei dati istorizza tre tipi di eventi dall'istanza di Gemelli digitali di Azure ad Azure Esplora dati: eventi del ciclo di vita delle relazioni, eventi del ciclo di vita dei gemelli e aggiornamenti delle proprietà gemelle (che possono includere facoltativamente eliminazioni delle proprietà dei gemelli). Ognuno di questi tipi di evento viene archiviato nella propria tabella all'interno del database di azure Esplora dati, ovvero la cronologia dei dati mantiene tre tabelle totali. È possibile specificare nomi personalizzati per le tabelle quando si configura la connessione alla cronologia dati.

Nella parte restante di questa sezione vengono descritte in dettaglio le tre tabelle di Azure Esplora dati, incluso lo schema dei dati per ogni tabella.

Aggiornamenti delle proprietà dei dispositivi gemelli

La tabella Esplora dati di Azure per gli aggiornamenti delle proprietà gemelle ha un nome predefinito adtPropertyEvents. È possibile lasciare il nome predefinito quando si crea la connessione o specificare un nome di tabella personalizzato.

I dati delle serie temporali per gli aggiornamenti delle proprietà gemelle vengono archiviati con lo schema seguente:

Attributo Tipo Descrizione
TimeStamp Data/Ora Data/ora in cui il messaggio di aggiornamento della proprietà è stato elaborato da Gemelli digitali di Azure. Questo campo viene impostato dal sistema e non è scrivibile dagli utenti.
SourceTimeStamp Data/Ora Proprietà facoltativa scrivibile che rappresenta il timestamp quando l'aggiornamento della proprietà è stato osservato nel mondo reale. Questa proprietà può essere scritta solo usando la versione 2022-05-31 delle API/SDK di Gemelli digitali di Azure e il valore deve essere conforme al formato di data e ora ISO 8601. Per altre informazioni su come aggiornare questa proprietà, vedere Aggiornare sourceTime di una proprietà.
ServiceId String ID dell'istanza del servizio Azure IoT che registra il record
Id String ID gemello
ModelId String ID del modello DTDL (DTMI)
Key String Nome della proprietà aggiornata
Value Dinamico Valore della proprietà aggiornata
RelationshipId String Quando viene aggiornata una proprietà definita in una relazione ,anziché dispositivi gemelli, questo campo viene popolato con l'ID della relazione. Quando viene aggiornata una proprietà gemella , questo campo è vuoto.
RelationshipTarget String Quando viene aggiornata una proprietà definita in una relazione (anziché dispositivi gemelli), questo campo viene popolato con l'ID gemello del gemello di destinazione della relazione. Quando viene aggiornata una proprietà gemella , questo campo è vuoto.
Action String Questa colonna esiste solo se si sceglie di eliminare gli eventi di eliminazione delle proprietà. In tal caso, questa colonna contiene il tipo di evento della proprietà gemello (aggiornamento o eliminazione)

Di seguito è riportata una tabella di esempio degli aggiornamenti delle proprietà gemelli archiviati in Azure Esplora dati.

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 Output 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 Output 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 Output 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 Output 123

Rappresentazione delle proprietà con più campi

Potrebbe essere necessario archiviare una proprietà con più campi. Queste proprietà sono rappresentate con un oggetto JSON nell'attributo Value dello schema.

Ad esempio, se si rappresenta una proprietà con tre campi per roll, pitch e yaw, la cronologia dei dati archivierà l'oggetto JSON seguente come Value: {"roll": 20, "pitch": 15, "yaw": 45}.

Eventi del ciclo di vita dei gemelli

La tabella Esplora dati di Azure per gli eventi del ciclo di vita dei gemelli ha un nome personalizzato che verrà specificato durante la creazione della connessione alla cronologia dei dati.

I dati delle serie temporali per gli eventi del ciclo di vita dei gemelli vengono archiviati con lo schema seguente:

Attributo Tipo Descrzione
TwinId Stringa ID gemello
Action String Tipo di evento del ciclo di vita del gemello (creazione o eliminazione)
TimeStamp Data/Ora Data/ora in cui l'evento del ciclo di vita del gemello è stato elaborato da Gemelli digitali di Azure. Questo campo viene impostato dal sistema e non è scrivibile dagli utenti.
ServiceId String ID dell'istanza del servizio Azure IoT che registra il record
ModelId String ID del modello DTDL (DTMI)

Di seguito è riportata una tabella di esempio degli aggiornamenti del ciclo di vita dei gemelli archiviati in Azure Esplora dati.

TwinId Action TimeStamp ServiceId ModelId
PasteurizationMachine_A01 Creazione 2022-12-15 07:14:12.4160 dairyadtinstance.api.wcus.digitaltwins.azure.net dtmi:assetGen:PasteurizationMachine;1
PasteurizationMachine_A02 Creazione 2022-12-15 07:14:12.4210 dairyadtinstance.api.wcus.digitaltwins.azure.net dtmi:assetGen:PasteurizationMachine;1
SaltMachine_C0 Creazione 2022-12-15 07:14:12.5480 dairyadtinstance.api.wcus.digitaltwins.azure.net dtmi:assetGen:SaltMachine;1
PasteurizationMachine_A02 Elimina 2022-12-15 07:15:49.6050 dairyadtinstance.api.wcus.digitaltwins.azure.net dtmi:assetGen:PasteurizationMachine;1

Eventi del ciclo di vita delle relazioni

La tabella Esplora dati di Azure per gli eventi del ciclo di vita delle relazioni ha un nome personalizzato che verrà specificato durante la creazione della connessione alla cronologia dati.

I dati delle serie temporali per gli eventi del ciclo di vita delle relazioni vengono archiviati con lo schema seguente:

Attributo Tipo Descrzione
RelationshipId Stringa ID relazione. Questo campo viene impostato dal sistema e non è scrivibile dagli utenti.
Name String Nome della relazione
Action Tipo di evento del ciclo di vita della relazione (creazione o eliminazione)
TimeStamp Data/Ora Data/ora in cui l'evento del ciclo di vita della relazione è stato elaborato da Gemelli digitali di Azure. Questo campo viene impostato dal sistema e non è scrivibile dagli utenti.
ServiceId ID dell'istanza del servizio Azure IoT che registra il record
Source ID del dispositivo gemello di origine. Si tratta dell'ID del gemello in cui ha origine la relazione.
Target ID del gemello di destinazione. Si tratta dell'ID del gemello in cui arriva la relazione.

Di seguito è riportata una tabella di esempio degli aggiornamenti del ciclo di vita delle relazioni archiviati in Azure Esplora dati.

RelationshipId Name Action TimeStamp ServiceId Source Target
PasteurizationMachine_A01_feeds_Relationship0 feeds Creazione 2022-12-15 07:16:12.7120 dairyadtinstance.api.wcus.digitaltwins.azure.net PasteurizationMachine_A01 SaltMachine_C0
PasteurizationMachine_A02_feeds_Relationship0 feeds Creazione 2022-12-15 07:16:12.7160 dairyadtinstance.api.wcus.digitaltwins.azure.net PasteurizationMachine_A02 SaltMachine_C0
PasteurizationMachine_A03_feeds_Relationship0 feeds Creazione 2022-12-15 07:16:12.7250 dairyadtinstance.api.wcus.digitaltwins.azure.net PasteurizationMachine_A03 SaltMachine_C1
OsloFactory_contains_Relationship0 contains Elimina 2022-12-15 07:16:13.1780 dairyadtinstance.api.wcus.digitaltwins.azure.net OsloFactory SaltMachine_C0

Latenza di inserimento end-to-end

La cronologia dei dati di Gemelli digitali di Azure si basa sul meccanismo di inserimento esistente fornito da Azure Esplora dati. Gemelli digitali di Azure garantisce che gli eventi di aggiornamento del grafo vengano resi disponibili ad Azure Esplora dati entro meno di due secondi. La latenza aggiuntiva può essere introdotta da Azure Esplora dati l'inserimento dei dati.

Esistono due metodi in Azure Esplora dati per l'inserimento di dati: inserimento batch e inserimento in streaming. È possibile configurare questi metodi di inserimento per singole tabelle in base alle esigenze e allo scenario di inserimento dati specifico.

L'inserimento in streaming ha la latenza più bassa. Tuttavia, a causa del sovraccarico di elaborazione, questa modalità deve essere usata solo se vengono inseriti meno di 4 GB di dati ogni ora. L'inserimento batch funziona meglio se sono previste frequenze elevate dei dati di inserimento. Azure Esplora dati usa l'inserimento batch per impostazione predefinita. La tabella seguente riepiloga la latenza end-to-end peggiore del caso prevista:

Configurazione di Azure Esplora dati Latenza end-to-end prevista Frequenza dei dati consigliata
Inserimento del flusso <12 sec (<3 sec tipico) <4 GB/ora
Inserimento batch Varia (12 sec-15 m, a seconda della configurazione) >4 GB/ora

La parte restante di questa sezione contiene i dettagli per l'abilitazione di ogni tipo di inserimento.

Inserimento batch (impostazione predefinita)

Se non è configurata diversamente, Azure Esplora dati userà l'inserimento batch. Le impostazioni predefinite possono causare la disponibilità dei dati per la query solo 5-10 minuti dopo l'esecuzione di un aggiornamento a un gemello digitale. I criteri di inserimento possono essere modificati, in modo che l'elaborazione batch venga eseguita al massimo ogni 10 secondi (almeno 15 minuti al massimo). Per modificare i criteri di inserimento, è necessario eseguire il comando seguente nella visualizzazione query di Azure Esplora dati:

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

Assicurarsi che <table_name> sia stato sostituito con il nome della tabella configurata automaticamente. MaximumBatchingTimeSpan deve essere impostato sull'intervallo di invio in batch preferito. L'applicazione del criterio può richiedere da 5 a 10 minuti. Per altre informazioni sull'inserimento in batch, vedere il collegamento seguente: Comando di gestione dei criteri Kusto IngestionBatching.

Inserimento del flusso

L'abilitazione dell'inserimento in streaming è un processo in due passaggi:

  1. Abilitare l'inserimento in streaming per il cluster. Questa azione deve essere eseguita una sola volta. (Avviso: questa operazione avrà un effetto sulla quantità di spazio di archiviazione disponibile per la cache ad accesso frequente e potrebbe introdurre limitazioni aggiuntive). Per istruzioni, vedere Configurare l'inserimento in streaming nel cluster di Azure Esplora dati.
  2. Aggiungere un criterio di inserimento di streaming per la tabella desiderata. Per altre informazioni sull'abilitazione dell'inserimento in streaming per il cluster, vedere la documentazione di Azure Esplora dati: comando di gestione dei criteri Kusto IngestionBatching.

Per abilitare l'inserimento in streaming per la tabella della cronologia dei dati di Gemelli digitali di Azure, è necessario eseguire il comando seguente nel riquadro query di Azure Esplora dati:

.alter table <table_name> policy streamingingestion enable 

Assicurarsi che <table_name> sia stato sostituito con il nome della tabella configurata automaticamente. L'applicazione del criterio può richiedere da 5 a 10 minuti.

Visualizzare le proprietà istorizzate

Azure Digital Twins Explorer, uno strumento di sviluppo per la visualizzazione e l'interazione con i dati di Gemelli digitali di Azure, offre una funzionalità di esplorazione della cronologia dei dati per la visualizzazione delle proprietà istorizzate nel tempo in un grafico o in una tabella. Questa funzionalità è disponibile anche in 3D Scenes Studio, un ambiente 3D immersivo per offrire a Gemelli digitali di Azure il contesto visivo degli asset 3D.

Screenshot of data history explorer for 3D Scenes Studio.

Per informazioni più dettagliate sull'uso di Esplora cronologia dati, vedere Convalidare ed esplorare le proprietà istorizzate.

Nota

Se si verificano problemi durante la selezione di una proprietà nell'esperienza esplora cronologia dati degli oggetti visivi, potrebbe verificarsi un errore in un modello nell'istanza. Ad esempio, la presenza di valori di enumerazione non univoci negli attributi di un modello interromperà questa funzionalità di visualizzazione. In questo caso, esaminare le definizioni del modello e assicurarsi che tutte le proprietà siano valide.

Passaggi successivi

Dopo aver istorizzato i dati gemelli in Azure Esplora dati, è possibile usare il plug-in di query di Gemelli digitali di Azure per Azure Esplora dati per eseguire query tra i dati. Altre informazioni sul plug-in sono disponibili qui: Esecuzione di query con il plug-in azure Esplora dati.

In alternativa, approfondire la cronologia dei dati con le istruzioni di creazione e uno scenario di esempio: Creare una connessione alla cronologia dati.