Condividi tramite


Ottenere dati da Hub eventi di Azure

Questo articolo illustra come ottenere dati da Hub eventi nel database KQL in Microsoft Fabric. Hub eventi di Azure è una piattaforma di streaming di Big Data e un servizio di inserimento di eventi in grado di elaborare e gestire milioni di eventi al secondo.

Per trasmettere i dati da Hub eventi all’Intelligence in tempo reale, si passa attraverso due passaggi principali. Il primo passaggio viene eseguito nel portale di Azure, in cui si definiscono i criteri di accesso condiviso nell'istanza dell'hub eventi e si acquisiscono i dettagli necessari per connettersi successivamente tramite questo criterio.

Il secondo passaggio viene eseguito nell'Intelligence in tempo reale in Fabric, in cui si connette un database KQL all'hub eventi e si configura lo schema per i dati in ingresso. Questo passaggio crea due collegamenti. Il primo collegamento, denominato "collegamento cloud", connette Microsoft Fabric all'istanza dell'hub eventi. Il secondo collegamento connette il "collegamento cloud" al database KQL. Dopo aver configurato i dati e lo schema dell'evento, i dati trasmessi sono disponibili per l'esecuzione di query usando un set di query KQL.

Per ottenere dati da Hub eventi usando un flusso di Eventi vedere Aggiungi l'origine di Hub eventi di Azure a un eventstream.

Prerequisiti

Avviso

L'hub eventi non può essere protetto da un firewall.

Impostare criteri di accesso condiviso nell'hub eventi

Prima di poter creare un collegamento ai dati di Hub eventi, è necessario impostare un criterio di accesso condiviso (SAS) nell'hub eventi e raccogliere alcune informazioni da usare in un secondo momento per configurare il collegamento. Per ulteriori informazioni sull'autorizzazione dell'accesso alle risorse di Hub eventi, vedere Firma di accesso condiviso.

  1. Nel portale di Azure passare all'istanza di Hub eventi che si vuole collegare.

  2. In Impostazioni selezionare Criteri di accesso condiviso

  3. Selezionare +Aggiungi per aggiungere un nuovo criterio di accesso condiviso o selezionare un criterio esistente con Autorizzazioni di Gestione.

    Screenshot della creazione di un criterio SAS nel portale di Azure.

  4. Immettere un nome del Criterio.

  5. Selezionare Gestisci e quindi Crea.

Raccogliere informazioni per il collegamento cloud

Nel riquadro dei criteri SAS prendere nota dei quattro campi seguenti. È possibile copiare questi campi e incollarli da qualche parte, ad esempio in un blocco note, per utilizzarli in un passaggio successivo.

Screenshot che mostra come compilare il collegamento con i dati dal portale di Azure.

Riferimenti ai campi Campo Description Esempio
a Istanza di Hub eventi Nome dell'istanza dell'hub eventi. iotdata
b Criteri SAS Nome del criterio SAS creato nel passaggio precedente DocsTest
c Chiave primaria Chiave associata ai criteri SAS In questo esempio inizia con PGGIISb009...
d Stringa di connessione-chiave primaria In questo campo si vuole copiare solo lo spazio dei nomi dell'hub eventi, disponibile come parte della stringa di connessione. eventhubpm15910.servicebus.windows.net

Origine

  1. Nella barra multifunzione inferiore del database KQL selezionare Ottenere dati.

    Nella finestra Ottieni dati è selezionata la scheda Origine.

  2. Selezionare l'origine dati dall'elenco disponibile. In questo esempio si inseriscono dati da Hub eventi.

    Screenshot della finestra Ottieni dati con la scheda origine selezionata.

Configurare

  1. Selezionare una tabella di destinazione. Per inserire dati in una nuova tabella, selezionare + Nuova tabella e immettere un nome tabella.

    Nota

    I nomi delle tabelle possono avere un massimo di 1.024 caratteri, inclusi spazi, caratteri alfanumerici, trattini e trattini bassi. I caratteri speciali non sono supportati.

  2. Selezionare Crea nuovo collegamento oppure selezionare Collegamento esistente e passare al passaggio successivo.

Create new connection

  1. Compilare le impostazioni di Collegamento in base alla tabella seguente:

    Screenshot della scheda origine.

    Impostazione Descrizione Valore di esempio
    Spazio dei nomi dell'hub eventi Campo d della tabella precedente. eventhubpm15910.servicebus.windows.net
    Hub eventi Campo a della tabella precedente. Nome dell'istanza dell'hub eventi. iotdata
    Connessione Per usare un collegamento cloud esistente tra Fabric e Hub eventi, selezionare il nome di questo collegamento. In caso contrario, selezionare Crea nuovo collegamento. Creare nuovo collegamento
    Nome connessione Nome del nuovo collegamento cloud. Questo nome viene generato automaticamente, ma può essere sovrascritto. Il nome deve essere univoco nel tenant di Fabric. Connessione
    Tipo di autenticazione Ripopolato automaticamente. Attualmente è supportata solo la chiave di accesso condivisa. Chiave di accesso condivisa
    Nome della chiave di accesso condivisa Campo b della tabella precedente. Nome assegnato ai criteri di accesso condiviso. DocsTest
    Chiave di accesso condivisa Campo c della tabella precedente. Chiave primaria dei criteri SAS.
  2. Seleziona Salva. Viene creata una nuova connessione dati cloud tra Fabric e Hub eventi.

Connettere il collegamento cloud al database KQL

Indipendentemente dal fatto che sia stata creato un nuovo collegamento cloud o che si usi un collegamento cloud esistente, è necessario definire il gruppo di consumer. Facoltativamente, è possibile impostare parametri che definiscono ulteriormente gli aspetti del collegamento tra il database KQL e il collegamento cloud.

  1. Compilare i seguenti campi secondo la tabella:

    Screenshot della creazione della connessione alle banche dati.

    Impostazione Descrizione Valore di esempio
    Gruppo di consumer Gruppo di consumer definito nell'hub eventi. Per altre informazioni, vedere Gruppi di consumer. Dopo aver aggiunto un nuovo gruppo di consumer, sarà quindi necessario selezionare questo gruppo dall'elenco a discesa. NuovoConsumer
    Altri parametri
    Compressione Compressione dei dati degli eventi, come proveniente dall'hub eventi. Le opzioni sono Nessuna (impostazione predefinita) o Compressione Gzip. Nessuno
    Proprietà del sistema per gli eventi Per altre informazioni, vedere proprietà di sistema dell’hub eventi. Se sono presenti più record per ogni messaggio di evento, le proprietà di sistema verranno aggiunte al primo. Vedere le proprietà di sistema di eventi.
    Data di inizio recupero eventi La connessione dati recupera gli eventi dell'hub eventi esistenti, creati dalla data di inizio del recupero eventi. Può recuperare solo gli eventi conservati dall'hub eventi, in base al periodo di conservazione. Tutti i fusi orario sono in formato UTC. Se non viene specificata l’ora, quella predefinita è l'ora in cui viene creata la connessione dati.
  2. Selezionare Avanti per passare alla scheda ispezione.

Proprietà del sistema per gli eventi

Le proprietà di sistema archiviano le proprietà impostate dal servizio Hub eventi, al momento dell'accodamento dell'evento. La connessione dati all'hub eventi può incorporare un set selezionato di proprietà di sistema nei dati inseriti in una tabella in base a un determinato mapping.

Proprietà Tipo di dati Descrizione
x-opt-enqueued-time datetime Ora UTC in cui l'evento è stato accodato.
x-opt-sequence-number long Numero di sequenza logica dell'evento all'interno del flusso di partizione dell'hub eventi.
x-opt-offset string Scarto dell'evento dal flusso di partizione dell'hub eventi. L'identificatore dello scarto è univoco all'interno di una partizione del flusso dell'hub eventi.
x-opt-publisher string Nome del server di pubblicazione, se il messaggio è stato inviato a un endpoint del server di pubblicazione.
x-opt-partition-key string Chiave di partizione della partizione corrispondente che ha archiviato l'evento.

Controllare

Selezionare Fine per completare il processo di inserimento.

Screenshot della scheda Ispeziona.

Facoltativo:

  • Selezionare Command viewer per visualizzare e copiare i comandi automatici generati dagli input.

  • Modificare il formato dei dati dedotti automaticamente selezionando il formato desiderato dal menu a tendina. I dati vengono letti dall'hub eventi sotto forma di oggetti EventData. I formati supportati sono CSV, JSON, PSV, SCsv, SOHsv TSV, TXT e TSVE.

  • Modifica colonne.

  • Esplorare le Opzioni avanzate in base al tipo di dati.

  • Se i dati visualizzati nella finestra di anteprima non sono completi, potrebbero essere necessari altri dati per creare una tabella con tutti i campi dati necessari. Usare i comandi seguenti per recuperare nuovi dati dall'hub eventi:

    • Ignora e recupera nuovi dati: elimina i dati presentati e cerca nuovi eventi.
    • Recupera altri dati: cerca altri eventi oltre a quelli già trovati.

Modifica colonne

Nota

  • Per i formati tabulari (CSV, TSV, PSV), non è possibile eseguire il mapping di una colonna due volte. Per eseguire il mapping a una colonna esistente, eliminare prima quella nuova.
  • Non è possibile modificare un tipo di colonna esistente. Se si tenta di eseguire il mapping su una colonna con un formato diverso, è possibile che appaiano colonne vuote.

Le modifiche che è possibile apportare in una tabella dipendono dai parametri seguenti:

  • Il tipo di tabella è nuovo o esistente
  • Il tipo di mapping è nuovo o esistente
Tipo di tabella Tipo di mapping Modifiche disponibili
Nuova tabella Nuovo mapping Rinominare la colonna, modificare il tipo di dati, modificare l'origine dati, eseguire la Trasformazione del mapping, aggiungere una colonna, eliminare una colonna
Tabella esistente Nuovo mapping Aggiungi colonna (per cui è poi possibile cambiare il tipo di dati, rinominare e aggiornare)
Tabella esistente Mapping esistente Nessuno

Screenshot delle colonne aperte per la modifica.

Trasformazioni del mapping

Alcuni mapping del formato dati (Parquet, JSON e Avro) supportano semplici trasformazioni in fase di inserimento. Per applicare le trasformazioni del mapping, creare o aggiornare una colonna nella finestra Modifica colonne.

Le trasformazioni del mapping possono essere eseguite su una colonna di tipo string o date/time, con l'origine che ha un tipo di dati int o long. Le trasformazioni del mapping supportate sono:

  • DateTimeFromUnixSeconds
  • DateTimeFromUnixMilliseconds
  • DateTimeFromUnixMicroseconds
  • DateTimeFromUnixNanoseconds

Mapping dello schema per i file Avro di Acquisizione di Hub eventi

Un modo per usare i dati di Hub eventi consiste nell'acquisire eventi tramite Hub eventi di Azure in Archiviazione BLOB di Azure o Azure Data Lake Storage. È quindi possibile inserire i file di acquisizione mentre vengono scritti usando una Griglia di eventi Connessione dati.

Lo schema dei file di acquisizione è diverso dallo schema dell'evento originale inviato a Hub eventi. È consigliabile progettare lo schema della tabella di destinazione tenendo presente questa differenza. In particolare, il payload dell'evento viene rappresentato nel file di acquisizione come matrice di byte e questa matrice non viene decodificata automaticamente dalla Griglia di eventi Connessione dati di Esplora dati di Azure. Per informazioni più specifiche sullo schema di file per i dati di acquisizione Avro di Hub eventi, vedere Esplorazione dei file Avro acquisiti in Hub eventi di Azure.

Per decodificare correttamente il payload dell'evento:

  1. Eseguire il mapping del Body campo dell'evento acquisito a una colonna di tipo dynamic nella tabella di destinazione.
  2. Applicare un criterio di aggiornamento che converte la matrice di byte in una stringa leggibile usando la funzione unicode_codepoints_to_string().

Opzioni avanzate in base al tipo di dati

Tabulare (CSV, TSV, PSV):

  • Se si inseriscono formati tabulari in una tabella esistente, è possibile selezionare Avanzate>Mantieni lo schema di tabella. I dati tabulari non comprendono necessariamente i nomi di colonna usati per eseguire il mapping dei dati di origine sulle colonne esistenti. Quando questa opzione è selezionata, il mapping viene eseguito in base all'ordine e lo schema della tabella rimane invariato. Se questa opzione è deselezionata, vengono create nuove colonne per i dati in ingresso, indipendentemente dalla struttura dei dati.

  • Per usare la prima riga come nomi di colonna, selezionare Avanzate>Prima riga è intestazione di colonna.

    Screenshot delle opzioni CSV avanzate.

JSON:

  • Per determinare la divisione delle colonne dei dati JSON, selezionare Avanzate>Livelli annidati, da 1 a 100.

  • Se si seleziona Avanzate>Ignora le righe JSON con errori, i dati vengono inseriti in formato JSON. Se si lascia deselezionata questa casella di controllo, i dati vengono inseriti in formato multijson.

    Screenshot delle opzioni JSON avanzate.

Riepilogo

Nella finestra Preparazione dei dati, tutti e tre i passaggi sono contrassegnati con segni di spunta verdi quando l'inserimento dati si conclude con successo. È possibile selezionare una scheda per eseguire query, eliminare i dati inseriti o visualizzare una dashboard con il riepilogo dell'inserimento.

Screenshot della pagina di riepilogo con completamento dell'inserimento riuscito.