Modello Time Series in Azure Time Series Insights Gen2
Nota
Il servizio Time Series Insights verrà ritirato il 7 luglio 2024. Considerare di eseguire la migrazione degli ambienti esistenti a soluzioni alternative il prima possibile. Per altre informazioni sulla deprecazione e sulla migrazione, visitare la nostra documentazione.
Questo articolo descrive il modello Time Series, le funzionalità e come iniziare a compilare e aggiornare i propri modelli nell'ambiente Azure Time Series Insights Gen2.
Suggerimento
- Informazioni su come usare il modello Time Series usando lo strumento di esplorazione di Azure Time Series Insights.
Riepilogo
I dati raccolti dai dispositivi IoT non includono in genere informazioni contestuali, cosa che rende difficile trovare e analizzare rapidamente i sensori. La scopo principale del modello di serie temporale è quello di semplificare la ricerca e l'analisi dei dati IoT e Time Series. Raggiunge questo obiettivo consentendo la cura, la manutenzione e l'arricchimento dei dati della serie temporale per preparare set di dati di livello consumer all'analisi.
Scenario: il nuovo forno intelligente di Contoso
Si consideri lo scenario fittizio di un forno intelligente Contoso. In questo scenario si supponga che ogni forno intelligente Contoso abbia cinque sensori di temperatura, uno per ognuno dei quattro fornelli principali e uno per il forno stesso. Fino a poco tempo fa, ogni sensore di temperatura Contoso ha inviato, archiviato e visualizzato i dati singolarmente. Per il monitoraggio dell'appliance da cucina, Contoso si basava su grafici di base, uno per ogni singolo sensore.
Sebbene Contoso fosse soddisfatto della soluzione iniziale di dati e visualizzazione, si sono evidenziate diverse limitazioni:
- I clienti volevano sapere quanto si sarebbe riscaldato il forno nel complesso quando la maggior parte dei fornelli sono accesi. Contoso ha avuto più difficoltà ad analizzare e presentare una risposta unica sulle condizioni complessive del forno.
- I tecnici di Contoso volevano verificare che il fatto che i principali fornelli siano accesi simultaneamente non provochi difetti di alimentazione. Sono sorte delle difficoltà nel fare riferimenti incrociati a sensori di temperatura e tensione associati tra loro e a come individuar questi nell'archivio.
- Il team di controllo qualità Contoso voleva controllare e confrontare la cronologia tra due versioni del sensore. Si sono presentate delle difficoltà nello stabilire quali dati appartenevano alla versione del sensore.
Senza la possibilità di strutturare, organizzare e definire il modello di serie temporale del forno intelligente, ogni sensore di temperatura ha mantenuto dei dati dislocati, isolati e meno informativi. La trasformazione di questi dati in informazioni dettagliate interattive era più difficile perché ogni set di dati era isolato dagli altri.
Queste limitazioni hanno rivelato l'importanza degli strumenti di aggregazione e visualizzazione dei dati intelligenti per il nuovo forno di Contoso:
- La visualizzazione dei dati risulta utile quando è possibile associare e combinare i dati in una visualizzazione pratica. Un esempio mostra i sensori di tensione insieme ai sensori di temperatura.
- La gestione dei dati multidimensionali per diverse entità insieme alle funzionalità di confronto, zoom e intervallo di tempo può risultare difficile da eseguire.
Il modello Time Series offre una soluzione pratica per molti degli scenari riscontrati in questo esempio fittizio:
- Il modello Time Series svolge un ruolo fondamentale nelle query e nella navigazione perché contestualizza i dati consentendo di stabilire confronti tra intervalli di tempo e tra sensori e tipi di dispositivo. (A)
- I dati vengono ulteriormente contestualizzati perché i dati salvati in modo permanente nel modello Time Series mantengono i calcoli delle query delle serie temporali come variabili e vengono riutilizzati in fase di query.
- Il modello Time Series organizza e aggrega i dati per migliorare le funzionalità di visualizzazione e gestione. (B)
Funzionalità chiave
Allo scopo di semplificare e agevolare la gestione della contestualizzazione delle serie temporali, il modello di serie temporale abilita le funzionalità seguenti in Anteprima di Azure Time Series Insights Gen2. Consente di:
- Creare e gestire formule o calcoli sfruttando le funzioni scalari, le operazioni di aggregazione e così via.
- Definire relazioni padre-figlio per abilitare la navigazione, la ricerca e il riferimento.
- Definire le proprietà associate alle istanze, definite campi di istanza, e usarle per creare gerarchie.
Componenti
Il modello Time Series include tre componenti principali:
Questi componenti vengono combinati per specificare un modello serie temporale e per organizzare i dati.
È possibile creare e gestire un modello Time Series tramite lo strumento di esplorazione di Azure Time Series Insights. Le impostazioni del modello Time Series possono essere gestite tramite l'API Impostazioni modello.
Istanze di modello serie temporale
Le istanze del modello Time Series sono rappresentazioni virtuali delle serie temporali stesse.
Nella maggior parte dei casi, le istanze vengono identificate in modo univoco da deviceId o assetId che vengono salvate come ID serie temporali.
Alle istanze sono associate informazioni descrittive denominate proprietà dell'istanza, ad esempio un ID serie temporale, un tipo, un nome, una descrizione, gerarchie e campi di istanza. Come minimo, le proprietà delle istanze includono informazioni sulla gerarchia.
I campi dell'istanza sono una raccolta di informazioni descrittive che possono includere valori per i livelli di gerarchia, nonché produttore, operatore e così via.
Dopo aver configurato un'origine evento per l'ambiente Azure Time Series Insights Gen2, le istanze vengono individuate e create automaticamente in un modello serie temporale. Le istanze possono essere create o aggiornate tramite lo strumento di esplorazione di Azure Time Series Insights usando le query del modello Time Series.
Proprietà dell'istanza
Le istanze vengono definite da timeSeriesId, typeId, name, description, hierarchyIds e instanceFields. Ogni istanza esegue il mapping a un solo tipo e a una o più gerarchie.
Proprietà | Descrizione |
---|---|
timeSeriesId | ID univoco della serie temporale a cui è associata l'istanza. Nella maggior parte dei casi le istanze vengono identificate in modo univoco da una proprietà come deviceId o assetId. In alcuni casi, è possibile usare un ID composito più specifico che combina fino a 3 proprietà. |
typeId | L'ID stringa univoca con distinzione tra maiuscole e minuscole del tipo di modello Time Series a cui è associata l'istanza. Per impostazione predefinita, tutte le nuove istanze individuate vengono associate a un tipo predefinito. |
name | La proprietà name è facoltativa e fa distinzione tra maiuscole/minuscole. Se il nome non è disponibile, questo è impostato in maniera predefinita su timeSeriesId. Se viene specificato un nome, timeSeriesId è ancora disponibile nell'area. |
description | Descrizione di testo dell'istanza. |
hierarchyIds | Definisce le gerarchie a cui appartiene l'istanza. |
instanceFields | Le proprietà di un'istanza e i dati statici che definiscono un'istanza. Definiscono i valori delle proprietà non di gerarchia o di gerarchia, supportando anche l'indicizzazione per eseguire operazioni di ricerca. |
Nota
Le gerarchie vengono compilate usando i campi dell'istanza. È possibile aggiungere altri instanceFields per altre definizioni di proprietà dell'istanza.
Le istanze hanno la seguente rappresentazione JSON:
{
"timeSeriesId": ["PU2"],
"typeId": "545314a5-7166-4b90-abb9-fd93966fa39b",
"hierarchyIds": ["95f0a8d1-a3ef-4549-b4b3-f138856b3a12"],
"description": "Pump #2",
"instanceFields": {
"Location": "Redmond",
"Fleet": "Fleet 5",
"Unit": "Pump Unit 3",
"Manufacturer": "Contoso",
"ScalePres": "0.54",
"scaleTemp": "0.54"
}
}
Suggerimento
Per il supporto per la creazione, la lettura, l'aggiornamento e l'eliminazione (CRUD - Create, Read, Update, Delete) dell'API di istanza, vedere l'articolo Query sui dati e la documentazione API REST dell'istanza.
Gerarchie di modelli serie temporale
Le gerarchie del modello Time Series organizzano le istanze specificando i nomi e le relazioni delle proprietà.
È possibile configurare più gerarchie in un determinato ambiente Azure Time Series Insights Gen2. Un'istanza del modello serie temporale può eseguire il mapping a una singola gerarchia o a più gerarchie (relazione molti-a-molti).
Definizione della gerarchia
Le gerarchie vengono definite da ID gerarchia, nome e origine.
Proprietà | Descrizione |
---|---|
id | Identificatore univoco per la gerarchia, che viene usato, ad esempio, quando si definisce un'istanza. |
name | Stringa utilizzata per specificare un nome per la gerarchia. |
source | Specifica la gerarchia o il percorso dell'organizzazione, ovvero un ordine padre-figlio dall'alto verso il basso della gerarchia che gli utenti intendono creare. Le proprietà padre-figlio eseguono il mapping dei campi di istanza. |
Le gerarchie sono rappresentate in JSON come segue:
{
"hierarchies": [
{
"id": "6e292e54-9a26-4be1-9034-607d71492707",
"name": "Location",
"source": {
"instanceFieldNames": [
"state",
"city"
]
}
},
{
"id": "a28fd14c-6b98-4ab5-9301-3840f142d30e",
"name": "ManufactureDate",
"source": {
"instanceFieldNames": [
"year",
"month"
]
}
}
]
}
Nell'esempio JSON precedente:
Location
definisce una gerarchia con padrestates
e figliocities
. Ognilocation
può avere piùstates
, che a sua volta può avere piùcities
.ManufactureDate
definisce una gerarchia con padreyear
e figliomonth
. OgniManufactureDate
può avere piùyears
, che a sua volta può avere piùmonths
.
Suggerimento
Per il supporto per la creazione, la lettura, l'aggiornamento e l'eliminazione dell'API Hierarchy (CRUD - Create, Read, Update, Delete), vedere l'articolo Query sui dati e la documentazione API REST Hierarchy.
Esempio di gerarchia
Si consideri un esempio in cui la gerarchia H1 ha building
, floor
e room
come parte della definizione instanceFieldNames:
{
"id": "aaaaaa-bbbbb-ccccc-ddddd-111111",
"name": "H1",
"source": {
"instanceFieldNames": [
"building",
"floor",
"room"
]
}
}
Dato che i campi dell'istanza usati nella definizione precedente e in diverse serie temporali, gli attributi e i valori della gerarchia vengono visualizzati come illustrato nella tabella seguente:
ID serie temporale | Campi di istanza |
---|---|
ID1 | "building" = "1000", "floor" = "10", "room" = "55" |
ID2 | "building" = "1000", "room" = "55" |
ID3 | "floor" = "10" |
ID4 | "building" = "1000", "floor" = "10" |
ID5 | Non è impostato nessun "building", "floor" o "room" |
L'ID1 e l'ID4 di Time Series vengono visualizzati come parte della gerarchia H1 nello strumento di esplorazione di Azure Time Series Insightsperché hanno parametri di compilazione, limite minimo e stanza completamente definiti e ordinati correttamente.
Gli altri sono classificati in Istanze senza elemento padre perché non sono conformi alla gerarchia di dati specificata.
Tipi di modelli serie temporale
I tipi di modello serie temporale consentono di definire variabili o formule per eseguire calcoli. I tipi sono associati a un'istanza specifica.
Un tipo può avere una o più variabili. Un'istanza di modello Time Series, ad esempio, potrebbe essere di tipo Temperature Sensor, che è costituito dalle variabili avg temperature, min temperature e max temperature.
Suggerimento
Per il supporto per la creazione, la lettura, l'aggiornamento e l'eliminazione (CRUD - Create, Read, Update, Delete) dell'API, leggere l'articolo Query sui dati e la documentazione dell'API REST Type.
Proprietà del tipo
I tipi di modello Time Series sono definiti da ID, nome, descrizionee variabili.
Proprietà | Descrizione |
---|---|
id | ID stringa univoco con distinzione tra maiuscole e minuscole per il tipo. |
name | Stringa utilizzata per specificare un nome per il tipo. |
description | Descrizione stringa per il tipo. |
variables | Specificare le variabili associate al tipo. |
I tipi sono conformi all'esempio JSON seguente:
{
"types": [
{
"id": "1be09af9-f089-4d6b-9f0b-48018b5f7393",
"name": "DefaultType",
"description": "Default type",
"variables": {
"EventCount": {
"kind": "aggregate",
"value": null,
"filter": null,
"aggregation": {
"tsx": "count()"
}
},
"Interpolated Speed": {
"kind": "numeric",
"value": {
"tsx": "$event['Speed-Sensor'].Double"
},
"filter": null,
"interpolation": {
"kind": "step",
"boundary": {
"span": "P1D"
}
},
"aggregation": {
"tsx": "right($value)"
}
}
}
}
]
}
I tipi di modello Time Series possono avere molte variabili che specificano regole di formula e calcolo per gli eventi. Approfondire l'argomento su come definire le variabili del modello Time Series
Passaggi successivi
Per altre informazioni su come modificare il modello tramite le API, vedere la documentazione di riferimento del Modello Time Series.
Esplorare le formule e i calcoli che è possibile creare con le variabili del modello Time Series
Informazioni sull'esecuzione di query sui dati in Azure Time Series Insights Gen2