Vai al contenuto

Gestire e Visualizzare Immagini in Kusto con Power BI e Azure Data Explorer

Scopri come archiviare e visualizzare immagini in Kusto per rendere i tuoi dati più accessibili e informativi.

Nel mondo odierno, dove la quantità di dati cresce esponenzialmente, la capacità di gestire e visualizzare informazioni non strutturate come le immagini in modo efficace è diventata un aspetto cruciale per le aziende. Kusto, l’innovativa piattaforma di database, presenta delle opportunità uniche per archiviare immagini pur rispettando i requisiti di sicurezza e accessibilità. In questo articolo, esploreremo le modalità di archiviazione delle immagini in Kusto e come è possibile visualizzarle utilizzando strumenti di analisi come Power BI e le dashboard di Azure Data Explorer.

Perché Archiviare Immagini in Kusto?

Sebbene Kusto sia principalmente progettato per dati strutturati e semi-strutturati, ci sono motivi validi per considerare l’archiviazione di immagini all’interno di questo sistema. Ad esempio, in contesti in cui è essenziale garantire un accesso sicuro alle immagini e dove l’uso di soluzioni di storage esterne può comportare rischi, centralizzare i dati in Kusto semplifica sia la sicurezza sia l’accesso. Inoltre, può risultare vantaggioso quando il sistema di visualizzazione non supporta l’accesso protetto agli archivi esterni.

Come Archiviare Immagini in Kusto

Poiché Kusto non supporta direttamente i tipi di dati binari, le immagini devono essere convertite in una rappresentazione di stringa tramite codifica base64. Questo processo trasforma i dati dell’immagine in una stringa composta da 64 caratteri. È fondamentale notare che la dimensione massima per una stringa in Kusto è di 1 MB, ma può essere aumentata se necessario. Per archiviare un’immagine in Kusto, si può creare una tabella che include colonne per il nome del file e l’immagine in formato base64. Ecco un esempio:

// creazione della tabella delle immagini.create table immagine (nome_file:string, img_originale_base64:string)// Disattivazione dell’indicizzazione per la colonna dell’immagine.alter column immagine.img_originale_base64 policy encoding type='BigObject'

Ingestione di Immagini in Kusto

Le immagini possono essere inserite utilizzando vari metodi di ingestione a seconda che il database sia in modalità PaaS o SaaS. Prima dell’ingestione, occorre assicurarsi che i dati delle immagini siano convertiti in una stringa binaria e codificati in base64.

Visualizzare Immagini in Azure Data Explorer

Una volta che le immagini sono state ingaggiate in Kusto, si possono visualizzare tramite le dashboard di Azure Data Explorer. Le immagini possono essere rappresentate tramite visualizzazioni in Markdown, utilizzando un pattern specifico per incorporare direttamente l’immagine:

| extend immagine=strcat("![immagine](data:image/png;base64,", img_originale_base64, ")")

Questo codice permette di inserire direttamente l’immagine nel dashboard grazie alla stringa codificata in base64.

Visualizzare Immagini in Power BI

Power BI fornisce la possibilità di integrare immagini da un database, ma ha delle restrizioni relative alla dimensione delle stringhe. Con un massimo di 32.000 caratteri, è possibile utilizzare una funzione di Kusto per dividere le stringhe di grandi dimensioni in righe multiple, garantendo che le immagini possano essere visualizzate senza problemi:

// funzione di aiuto per la suddivisione delle stringhe di immagini.create-or-alter function with (folder = "Gold layer", docstring="funzione per ripartire la rappresentazione di stringa delle immagini", skipvalidation = "true") report_image () {let max_length=32766; immagine| project nome_file, img_originale_base64| extend ingestion_time=ingestion_time() | summarize arg_max(ingestion_time, *) by nome_file | extend parti = range(0, strlen(img_originale_base64) - 1, max_length)| mv-expand parti| extend img_originale_base64_parte = substring(img_originale_base64, toint(parti), max_length), ordinamento=toint(parti)/max_length| project nome_file, img_originale_base64_parte, ordinamento}

Con questa tecnica, le immagini possono essere efficacemente visualizzate, anche con le limitazioni di Power BI, garantendo che i dati visivi siano facilmente accessibili e informativi.

Considerazioni Finali

Integrare le immagini all’interno di Kusto e visualizzarle attraverso strumenti come Power BI o le dashboard di Azure Data Explorer può migliorare significativamente l’analisi dei dati e i processi di reporting. Sebbene ci siano delle limitazioni, l’approccio basato su base64 per l’archiviazione delle immagini consente di configurare un sistema sicuro e centralizzato per la gestione delle informazioni. Adottando questa soluzione, le aziende possono beneficiare di un accesso semplificato e di una protezione dei dati migliorata, ampliando ulteriormente le possibilità di analisi.