Esercitazione: Ottenere informazioni dettagliate dai dati elaborati
In questa esercitazione viene popolato un dashboard in tempo reale per acquisire informazioni dettagliate dai dati OPC UA inviati a Hub eventi nell'esercitazione precedente. L'intelligence in tempo reale di Microsoft Fabric consente di trasferire i dati da Hub eventi in Microsoft Fabric ed eseguirne il mapping in un database KQL che può essere un'origine per i dashboard in tempo reale. Si crea quindi un dashboard per visualizzare i dati nei riquadri visivi che acquisiscono informazioni dettagliate e mostrano i valori nel tempo.
Queste operazioni sono gli ultimi passaggi dell'esperienza di esercitazione end-to-end di esempio, che passa dalla distribuzione di operazioni IoT di Azure all'perimetro tramite l'acquisizione di informazioni dettagliate dai dati del dispositivo nel cloud.
Prerequisiti
Prima di iniziare questa esercitazione, è necessario completare Esercitazione: Inviare dati di telemetria degli asset al cloud usando un flusso di dati
È necessaria anche una sottoscrizione di Microsoft Fabric. Nella sottoscrizione è necessario accedere a un'area di lavoro con autorizzazioni di Collaboratore o versione successiva.
Inoltre, il tenant di Fabric deve consentire la creazione di dashboard in tempo reale. Si tratta di un'impostazione che può essere abilitata dall'amministratore tenant. Per altre informazioni, vedere Abilitare le impostazioni del tenant nel portale di amministrazione.
Quale problema risolveremo?
Dopo che i dati OPC UA sono arrivati nel cloud, saranno disponibili molte informazioni da analizzare. È possibile organizzare i dati e creare report contenenti grafici e visualizzazioni per derivare informazioni dettagliate dai dati. I passaggi descritti in questa esercitazione illustrano come connettere tali dati all'intelligence in tempo reale e creare un dashboard in tempo reale.
Inserire dati in intelligence in tempo reale
In questa sezione viene configurato un eventstream di Microsoft Fabric per connettere l'hub eventi a un database KQL in Intelligence in tempo reale. Questo processo include la configurazione di un mapping dei dati per trasformare i dati del payload dal formato JSON alle colonne in KQL.
Creare un eventstream
In questa sezione viene creato un flusso di eventi che verrà usato per trasferire i dati da Hub eventi in Intelligence in tempo reale di Microsoft Fabric e infine in un database KQL.
Per iniziare, passare all'esperienza di intelligence in tempo reale in Microsoft Fabric e aprire l'area di lavoro Infrastruttura.
Seguire la procedura descritta in Creare un flusso di eventi in Microsoft Fabric per creare una nuova risorsa eventstream nell'area di lavoro.
Dopo aver creato il flusso di eventi, verrà visualizzato l'editor principale in cui è possibile iniziare a compilare il flusso di eventi.
Aggiungere l'hub eventi come origine
Aggiungere quindi l'hub eventi dell'esercitazione precedente come origine dati per il flusso di eventi.
Seguire la procedura descritta in Aggiungere l'origine di Hub eventi di Azure a un eventstream per aggiungere l'origine evento. Tenere presente quanto segue:
- Si creerà una nuova connessione cloud con l'autenticazione con chiave di accesso condiviso.
- Assicurarsi che l'autenticazione locale sia abilitata nell'hub eventi. È possibile impostare questa impostazione dalla relativa pagina Panoramica nella portale di Azure.
- Per Gruppo consumer usare la selezione predefinita ($Default).
- Per Formato dati scegliere Json (potrebbe essere selezionato già per impostazione predefinita).
Dopo aver completato questo flusso, l'hub eventi di Azure è visibile nella visualizzazione live Eventstream come origine.
Verificare il flusso di dati
Seguire questa procedura per controllare il lavoro fino a questo punto e assicurarsi che i dati vengano trasmessi nel flusso di eventi.
Avviare il cluster in cui sono state distribuite le operazioni di Azure IoT nelle esercitazioni precedenti. Il simulatore OPC PLC distribuito con l'istanza di Operazioni di Azure IoT deve iniziare a eseguire e inviare dati al broker MQTT. È possibile verificare questa parte del flusso usando mqttui come descritto in Verificare che i dati vengano trasmessi.
Attendere alcuni minuti per la propagazione dei dati. Quindi, nella visualizzazione live eventstream selezionare l'origine AzureEventHub e aggiornare l'anteprima dei dati. I dati JSON del simulatore dovrebbero essere visualizzati nella tabella.
Suggerimento
Se i dati non sono arrivati nel flusso di eventi, è possibile controllare l'attività dell'hub eventi per verificare che ricevano messaggi. In questo modo sarà possibile isolare la sezione del flusso di cui eseguire il debug.
Preparare le risorse KQL
In questa sezione viene creato un database KQL nell'area di lavoro di Microsoft Fabric da usare come destinazione per i dati.
Seguire la procedura descritta in Creare una eventhouse per creare una eventhouse di Intelligence in tempo reale con un database KQL figlio. È sufficiente completare la sezione intitolata Creare un'istanza di Eventhouse.
Creare quindi una tabella nel database. Chiamare OPCUA e usare le colonne seguenti.
Nome colonna Tipo di dati AssetId string Temperatura decimale Umidità decimale Timestamp: datetime Dopo aver creato la tabella OPCUA , selezionare il database e usare il pulsante Esplora i dati per aprire una finestra di query.
Eseguire la query KQL seguente per creare un mapping dei dati per la tabella. Il mapping dei dati verrà chiamato opcua_mapping.
.create table ['OPCUA'] ingestion json mapping 'opcua_mapping' '[{"column":"AssetId", "Properties":{"Path":"$[\'AssetId\']"}},{"column":"Temperature", "Properties":{"Path":"$[\'ThermostatTemperature\']"}},{"column":"Humidity", "Properties":{"Path":"$[\'ThermostatHumidity\']"}},{"column":"Timestamp", "Properties":{"Path":"$[\'EventProcessedUtcTime\']"}}]'
Aggiungere una tabella dati come destinazione
Tornare quindi alla visualizzazione eventstream, in cui è possibile aggiungere la nuova tabella KQL come destinazione eventstream.
Seguire la procedura descritta in Aggiungere una destinazione del database KQL a un eventstream per aggiungere la destinazione. Tenere presente quanto segue:
Usare la modalità di inserimento diretto.
Nel passaggio Configura selezionare la tabella OPCUA creata in precedenza.
Nel passaggio Ispeziona aprire le opzioni Avanzate. In Mapping selezionare mapping esistente e scegliere opcua_mapping.
Suggerimento
Se non vengono trovati mapping esistenti, provare ad aggiornare l'editor eventstream e riavviare i passaggi per aggiungere la destinazione. In alternativa, è possibile avviare questo stesso processo di configurazione dalla tabella KQL anziché dal flusso di eventi, come descritto in Ottenere dati da Eventstream.
Dopo aver completato questo flusso, la tabella KQL è visibile nella visualizzazione live eventstream come destinazione.
Attendere alcuni minuti per la propagazione dei dati. Selezionare quindi la destinazione KQL e aggiornare il anteprima dei dati per visualizzare i dati JSON elaborati dal flusso di eventi visualizzato nella tabella.
Se si desidera, è anche possibile visualizzare ed eseguire query su questi dati direttamente nel database KQL.
Creare un dashboard in tempo reale
In questa sezione si creerà un nuovo dashboard in tempo reale per visualizzare i dati dell'esercitazione. Il dashboard consentirà di filtrare in base all'ID risorsa e al timestamp e visualizzerà riepiloghi visivi dei dati relativi a temperatura e umidità.
Nota
È possibile creare dashboard in tempo reale solo se l'amministratore tenant ha abilitato la creazione di dashboard in tempo reale nel tenant di Fabric. Per altre informazioni, vedere Abilitare le impostazioni del tenant nel portale di amministrazione.
Creare un dashboard e connettere l'origine dati
Seguire la procedura descritta nella sezione Creare un nuovo dashboard per creare un nuovo dashboard in tempo reale dalle funzionalità di intelligence in tempo reale.
Seguire quindi la procedura descritta nella sezione Aggiungi origine dati per aggiungere il database come origine dati. Tenere presente quanto segue:
- Nel riquadro Origini dati il database si troverà in hub dati di OneLake.
Configurare i parametri
Configurare quindi alcuni parametri per il dashboard in modo che gli oggetti visivi possano essere filtrati in base all'ID risorsa e al timestamp. Il dashboard include un parametro predefinito per filtrare in base all'intervallo di tempo, quindi è sufficiente crearne uno che possa filtrare in base all'ID risorsa.
Passare alla scheda Gestisci e selezionare Parametri. Selezionare + Aggiungi per aggiungere un nuovo parametro.
Creare un nuovo parametro con le caratteristiche seguenti:
- Etichetta: Asset
- Tipo di parametro: selezione singola (già selezionata per impostazione predefinita)
- Nome variabile: _asset
- Tipo di dati: stringa (già selezionata per impostazione predefinita)
- Origine: Query
Origine dati: database (già selezionato per impostazione predefinita)
Selezionare Modifica query e aggiungere la query KQL seguente.
OPCUA | summarize by AssetId
- Colonna valore: AssetId
- Valore predefinito: selezionare il primo valore della query
Selezionare Fine per salvare il parametro.
Creare un riquadro grafico a linee
Aggiungere quindi un riquadro al dashboard per visualizzare un grafico a linee di temperatura e umidità nel tempo per l'asset selezionato e l'intervallo di tempo.
Selezionare + Aggiungi riquadro o Nuovo riquadro per aggiungere un nuovo riquadro.
Immettere la query KQL seguente per il riquadro. Questa query applica parametri di filtro dai selettori del dashboard per intervallo di tempo e asset ed esegue il pull dei record risultanti con il timestamp, la temperatura e l'umidità.
OPCUA | where Timestamp between (_startTime.._endTime) | where AssetId == _asset | project Timestamp, Temperature, Humidity
Eseguire la query per verificare che i dati siano disponibili.
Selezionare + Aggiungi oggetto visivo accanto ai risultati della query per aggiungere un oggetto visivo per questi dati. Creare un oggetto visivo con le caratteristiche seguenti:
- Nome riquadro: Temperatura e umidità nel tempo
- Tipo di oggetto visivo: Grafico a linee
- Data:
- Colonne Y: Temperatura (decimale) e Umidità (decimale) (già dedotto per impostazione predefinita)
- Colonne X: Timestamp (datetime) (già dedotto per impostazione predefinita)
- Asse Y:
- Etichetta: Unità
- Asse X:
- Etichetta: Timestamp
Selezionare Applica modifiche per creare il riquadro.
Visualizzare il riquadro completato nel dashboard.
Creare riquadri di valori massimi
Creare quindi alcuni riquadri per visualizzare i valori massimi di temperatura e umidità.
Selezionare Nuovo riquadro per creare un nuovo riquadro.
Immettere la query KQL seguente per il riquadro. Questa query applica parametri di filtro dai selettori del dashboard per intervallo di tempo e asset e accetta il valore di temperatura più alto dai record risultanti.
OPCUA | where Timestamp between (_startTime.._endTime) | where AssetId == _asset | top 1 by Temperature desc | summarize by Temperature
Eseguire la query per verificare che sia possibile trovare una temperatura massima.
Selezionare + Aggiungi oggetto visivo per aggiungere un oggetto visivo per questi dati. Creare un oggetto visivo con le caratteristiche seguenti:
- Nome riquadro: Temperatura massima
- Tipo di oggetto visivo: Stat
- Data:
- Colonna Valore: Temperatura (decimale) (già dedotta per impostazione predefinita)
Selezionare Applica modifiche per creare il riquadro.
Visualizzare il riquadro completato nel dashboard (è possibile ridimensionare il riquadro in modo che il testo completo sia visibile).
Aprire le opzioni per il riquadro e selezionare il riquadro Duplica.
Verrà creato un riquadro duplicato nel dashboard.
Nel nuovo riquadro selezionare l'icona a forma di matita per modificarla.
Sostituire Temperature nella query KQL con Humidity, in modo che corrisponda alla query seguente.
OPCUA | where Timestamp between (_startTime.._endTime) | where AssetId == _asset | top 1 by Humidity desc | summarize by Humidity
Eseguire la query per verificare che sia possibile trovare un'umidità massima.
Nel riquadro della Formattazione visiva aggiornare le caratteristiche seguenti:
- Nome riquadro: Umidità massima
- Data:
- Colonna valore: umidità (decimale) (già dedotto per impostazione predefinita)
Fare clic su Applica modifiche.
Visualizzare il riquadro completato nel dashboard.
Salvare il dashboard completato.
Ora è disponibile un dashboard che visualizza diversi tipi di oggetti visivi per i dati degli asset in queste esercitazioni. Da qui è possibile sperimentare i filtri e aggiungere altri tipi di riquadri per vedere come un dashboard può consentire di eseguire altre operazioni con i dati.
Come abbiamo risolto il problema?
In questa esercitazione è stato usato un flusso di eventi per inserire i dati di Hub eventi in un database KQL in Microsoft Fabric Real-Time Intelligence. È stato quindi creato un dashboard in tempo reale basato su tali dati, che tiene traccia visivamente della modifica dei valori nel tempo. Correlando i dati perimetrali di varie origini insieme in Microsoft Fabric, è possibile creare report con visualizzazioni e funzionalità interattive che offrono informazioni più approfondite sull'integrità degli asset, sull'utilizzo e sulle tendenze operative. Ciò consente di migliorare la produttività, migliorare le prestazioni degli asset e guidare il processo decisionale informato per ottenere risultati aziendali migliori.
Questo completa il passaggio finale del flusso di esercitazione per l'uso di Operazioni IoT di Azure per gestire i dati dei dispositivi dalla distribuzione tramite l'analisi nel cloud.
Pulire le risorse
Se si continua con l'esercitazione successiva, mantenere tutte le risorse.
Se si vuole rimuovere la distribuzione di Operazioni IoT di Azure ma mantenere il cluster, usare il comando az iot ops delete :
az iot ops delete --cluster $CLUSTER_NAME --resource-group $RESOURCE_GROUP
Per eliminare tutte le risorse create per questa guida introduttiva, eliminare il cluster Kubernetes in cui sono state distribuite le operazioni IoT di Azure e quindi rimuovere il gruppo di risorse di Azure che conteneva il cluster.
Se per questi argomenti della guida introduttiva è stato usato Codespaces, eliminare Codespace da GitHub.
Nota
Il gruppo di risorse contiene lo spazio dei nomi di Hub eventi creato in questa esercitazione.
È anche possibile eliminare l'area di lavoro di Microsoft Fabric e/o tutte le risorse al suo interno associate a questa esercitazione, tra cui eventstream, eventhouse e dashboard in tempo reale.