Modello Time Series in Azure Time Series Insights Gen2

Nota

Il servizio Time Series Insights (TSI) non sarà più supportato dopo marzo 2025. Valutare la possibilità di eseguire la migrazione di ambienti Time Series Insights esistenti a soluzioni alternative il prima possibile. Per altre informazioni sulla deprecazione e la migrazione, visitare la 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

  • Passare all'ambiente demo Contoso Wind Farm per un esempio di modello Time Series live.
  • Informazioni su come usare il modello Time Series usando Azure Time Series Insights Explorer.

Riepilogo

I dati raccolti dai dispositivi IoT non includono in genere informazioni contestuali, cosa che rende difficile trovare e analizzare rapidamente i sensori. La motivazione principale per il modello Time Series è semplificare la ricerca e l'analisi dei dati di IoT o Time Series. Questo obiettivo viene raggiunto abilitando la cura, la manutenzione e l'arricchimento dei dati delle serie temporali per preparare i set di dati pronti per l'utente per l'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 masterizzatori 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, sono state evidenti diverse limitazioni:

  • I clienti volevano sapere quanto caldo il forno complessivo avrebbe potuto ottenere quando la maggior parte dei top forni erano accesi. Contoso ha avuto più difficoltà ad analizzare e presentare una risposta unificata sulle condizioni del forno complessivo.
  • I tecnici di Contoso volevano verificare che i principali masterizzatori vengano eseguiti simultaneamente non comportano un'alimentazione inefficiente. C'è stata difficoltà a fare riferimento incrociato quali sensori di temperatura e tensione sono stati associati tra loro e come individuarli nell'archivio.
  • Il team di controllo qualità Contoso voleva controllare e confrontare la cronologia tra due versioni del sensore. C'era difficoltà a determinare 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 punti dati dislocati, isolati e meno informativi. La trasformazione di questi punti dati in informazioni dettagliate interattive era più difficile perché ogni set di dati viveva indipendentemente dagli altri.

Queste limitazioni hanno rivelato l'importanza degli strumenti di aggregazione e visualizzazione dei dati intelligenti per accompagnare 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:

Time Series Model smart oven charting example

  • Il modello Time Series svolge un ruolo fondamentale nelle query e nella navigazione perché contestualizza i dati consentendo di disegnare 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 li riutilizza in fase di query.
  • Il modello Time Series organizza e aggrega i dati per migliorare le funzionalità di visualizzazione e gestione. (B)

Funzionalità chiave

Con l'obiettivo di semplificare e semplificare la gestione della contestualizzazione delle serie temporali, il modello Time Series abilita le funzionalità seguenti in Azure Time Series Insights Gen2. Consente di:

  • Creare e gestire calcoli o formule sfruttando funzioni scalari, 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 come 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 time series e per organizzare i dati.

Time Series Model overview chart

È possibile creare e gestire un modello time series tramite Azure Time Series Insights Explorer. Le impostazioni del modello Time Series possono essere gestite tramite l'API Model Impostazioni.

Istanze di modello serie temporale

Le istanze del modello Time Series sono rappresentazioni virtuali della serie temporale stessa.

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 time series. Le istanze possono essere create o aggiornate tramite Lo strumento di esplorazione di Azure Time Series Insights usando le query del modello Time Series.

La demo Contoso Wind Farm offre diversi esempi di istanza dinamica.

Time Series Model instance example

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 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 con distinzione tra maiuscole e minuscole. Se il nome non è disponibile, per impostazione predefinita è 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 Proprietà di un'istanza e di tutti i dati statici che definiscono un'istanza di . 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 campi di istanza per altre definizioni di proprietà dell'istanza.

Le istanze hanno la rappresentazione JSON seguente:

{
  "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) dell'API di istanza, vedere l'articolo Query sui dati e la documentazione REST dell'API dell'istanza.

Gerarchie di modelli serie temporale

Le gerarchie del modello Time Series organizzano le istanze specificando i nomi delle proprietà e le relative relazioni.

È possibile configurare più gerarchie in un determinato ambiente Azure Time Series Insights Gen2. Un'istanza del modello Time Series può eseguire il mapping a una singola gerarchia o a più gerarchie (relazione molti-a-molti).

La demo Contoso Wind Farm visualizza un'istanza standard e una gerarchia dei tipi.

Time Series Model hierarchy example

Definizione della gerarchia

Le gerarchie sono definite dall'ID gerarchia, dal nome e dall'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 desiderano 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 padre states e figlio cities. Ognuno location può avere più states, che a sua volta può avere più cities.
  • ManufactureDate definisce una gerarchia con padre year e figlio month. Ognuno ManufactureDate 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), vedere l'articolo Query sui dati e la documentazione REST dell'API Hierarchy.

Esempio di gerarchia

Si consideri un esempio in cui la gerarchia H1 ha building, floore 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 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 Nessuno dei "building", "floor" o "room" è impostato.

L'ID1 e l'ID4 della serie temporale vengono visualizzati come parte della gerarchia H1 in Azure Time Series Insights Explorer perché hanno parametri di edificio, piano e stanza completamente definiti e ordinati correttamente.

Gli altri sono classificati in Istanze non corrispondenti 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. Ad esempio, un'istanza del modello Time Series potrebbe essere di tipo Temperature Sensor, costituita dalle variabili temperatura media, temperatura minima e temperatura massima.

La demo Contoso Wind Farm visualizza diversi tipi di modello Time Series associati alle rispettive istanze.

Time Series Model type example

Suggerimento

Per il supporto delle API Types create, read, update ed delete (CRUD), leggere l'articolo Query sui dati e la documentazione REST dell'API Type.

Proprietà del tipo

I tipi di modello Time Series sono definiti da ID, nome, descrizione e 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. Altre informazioni su come definire le variabili del modello Time Series

Passaggi successivi