Creare una connessione dati di Hub eventi per Azure Esplora dati
Articolo
Azure Esplora dati offre l'inserimento da Hub eventi, una piattaforma di streaming di Big Data e un servizio di inserimento di eventi. Hub eventi può elaborare milioni di eventi al secondo quasi in tempo reale.
In questo articolo ci si connette a un hub eventi e si inseriscono dati in Azure Esplora dati. Per una panoramica sull'inserimento da Hub eventi, vedere Hub eventi di Azure connessione dati.
Per esempi di codice basati sulle versioni precedenti dell'SDK, vedere l'articolo archiviato.
Creare una connessione dati dell'hub eventi
In questa sezione viene stabilita una connessione tra l'hub eventi e la tabella Esplora dati di Azure. Finché questa connessione è stata stabilita, i dati vengono trasmessi dall'hub eventi nella tabella di destinazione. Se l'hub eventi viene spostato in una risorsa o una sottoscrizione diversa, è necessario aggiornare o ricreare la connessione.
Fare clic con il pulsante destro del mouse sul database in cui si desidera inserire i dati. Seleziona Estrai dati.
Origine
Nella finestra Ottieni dati è selezionata la scheda Origine.
Selezionare l'origine dati dall'elenco disponibile. In questo esempio si inseriscono dati da Hub eventi.
Configurare
Selezionare un database e 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.
Specificare i seguenti campi:
Impostazione
Descrizione campo
Abbonamento
ID sottoscrizione in cui si trova la risorsa dell'hub eventi.
Spazio dei nomi dell'hub eventi
Nome che identifica lo spazio dei nomi.
Hub eventi
Hub eventi da usare
Gruppo di consumer
Gruppo di consumer definito nell'evento
Nome connessione dati
Nome che identifica la connessione dati.
Filtri avanzati
Compressione
Tipo di compressione del payload dei messaggi dell'hub eventi.
Proprietà del sistema per gli eventi
Proprietà del sistema dell'hub eventi. Se sono presenti più record per ogni messaggio di evento, le proprietà di sistema verranno aggiunte al primo. Quando si aggiungono proprietà del sistema, creare o aggiornare lo schema e il mapping della tabella per includere le proprietà selezionate.
Data di inizio recupero eventi
La connessione dati recupera gli eventi esistenti di Hub eventi creati dopo la data di inizio del recupero eventi. È possibile recuperare solo gli eventi conservati dal periodo di conservazione di Hub eventi. Se la data di inizio del recupero eventi non è specificata, l'ora predefinita è l'ora in cui viene creata la connessione dati.
Selezionare Avanti
Controllare
La scheda Ispezione si apre con un'anteprima dei dati.
Selezionare Fine per completare il processo di inserimento.
Facoltativo:
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: rimuove i dati presentati e cerca nuovi eventi.
Recupera altri dati: cerca altri eventi oltre a quelli già trovati.
Nota
Per visualizzare un'anteprima dei dati, l'hub eventi deve inviare eventi.
Selezionare Command viewer per visualizzare e copiare i comandi automatici generati dagli input.
Usare il menù a discesa File di definizione dello schema per modificare il file da cui viene dedotto lo schema.
Modificare il formato dei dati dedotti automaticamente selezionando il formato desiderato dal menu a tendina. Per l'inserimento, vedere Formati di dati supportati da Azure Esplora dati.
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
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
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 della tabella corrente. 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.
JSON:
Per determinare la divisione delle colonne dei dati JSON, selezionare Avanzate>Livelli annidati, da 1 a 100.
Se si seleziona Ignora errori di formato dati avanzati>, i dati vengono inseriti in formato JSON. Se si lascia deselezionata questa casella di controllo, i dati vengono inseriti in formato multijson.
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 visualizzare i comandi usati per ogni passaggio oppure selezionare una scheda per eseguire query, visualizzare o eliminare i dati inseriti.
Nel portale di Azure passare al cluster e selezionare Database. Selezionare quindi il database che contiene la tabella di destinazione.
Nel menu a sinistra selezionare Inserimento dati. Quindi, nella barra superiore selezionare Aggiungi connessione dati.
Compilare il modulo con le informazioni seguenti e quindi selezionare Crea.
Impostazione
Valore consigliato
Descrizione campo
Nome connessione dati
test-hub-connection
Nome della connessione da creare in Esplora dati di Azure.
Abbonamento
ID sottoscrizione in cui si trova la risorsa dell'hub eventi.
Spazio dei nomi dell'hub eventi
Nome dello spazio dei nomi univoco
Nome scelto in precedenza che identifica lo spazio dei nomi.
Hub eventi
test-hub
Hub eventi creato.
Gruppo di consumer
test-group
Gruppo di consumer definito nell'hub eventi creato.
Proprietà del sistema per gli eventi
Selezionare le proprietà appropriate
Proprietà del sistema dell'hub eventi. Se sono presenti più record per ogni messaggio di evento, le proprietà di sistema vengono aggiunte al primo record. Quando si aggiungono proprietà del sistema, creare o aggiornare lo schema e il mapping della tabella per includere le proprietà selezionate.
Compressione
Nessuno
Tipo di compressione del payload dei messaggi dell'hub eventi. Tipi di compressione supportati: nessuno, gzip.
Identità gestita (scelta consigliata)
Assegnata dal sistema
Identità gestita usata dal cluster Esplora dati per l'accesso in lettura dall'hub eventi. È consigliabile usare le identità gestite per controllare l'accesso all'hub eventi.
Nota: Quando si crea la connessione dati: Le * Identità assegnate dal sistema vengono create automaticamente se non esistono * L'identità gestita viene assegnata automaticamente al ruolo ricevitore di dati Hub eventi di Azure e viene aggiunta al cluster Esplora dati. Si consiglia di verificare che il ruolo sia stato assegnato e che l'identità sia stata aggiunta al cluster.
Nota
Se si dispone di una connessione dati esistente che non usa identità gestite, è consigliabile aggiornarla per usare le identità gestite.
Per abilitare l'accesso tra un cluster e un account di archiviazione senza accesso pubblico, vedere Creare un endpoint privato gestito.
Il cluster e l'hub eventi devono essere associati agli stessi tenant. In caso contrario, usare una delle opzioni dell'SDK, ad esempio C# o Python.
Viene visualizzato il riquadro laterale Inserimento dati con la scheda Destinazione selezionata. Selezionare i campi Cluster e Database nell'elenco a discesa. Assicurarsi di selezionare un cluster in esecuzione. In caso contrario, non sarà possibile selezionare Database e procedere con il processo di inserimento.
In Tabella selezionare Nuova tabella e immettere un nome per la nuova tabella. In alternativa, usare una tabella esistente.
Selezionare Avanti: Origine.
In Tipo di origine, il tipo e i dettagli dell'hub eventi vengono popolati automaticamente in base all'istanza di Hub eventi da cui si è iniziato.
In Connessione dati compilare i campi seguenti e selezionare Avanti: Schema.
Impostazione
Valore consigliato
Descrizione campo
Abbonamento
ID sottoscrizione in cui si trova la risorsa dell'hub eventi.
Spazio dei nomi dell'hub eventi
Nome che identifica lo spazio dei nomi.
Hub eventi
Hub eventi da usare.
Nome connessione dati
TestDataConnection
Nome che identifica la connessione dati.
Gruppo di consumer
Gruppo di consumer definito nell'hub eventi.
Compressione
Tipo di compressione del payload dei messaggi dell'hub eventi.
Proprietà del sistema per gli eventi
Selezionare le proprietà appropriate
Proprietà del sistema dell'hub eventi. Se sono presenti più record per ogni messaggio di evento, le proprietà di sistema verranno aggiunte al primo. Quando si aggiungono proprietà del sistema, creare o aggiornare lo schema e il mapping della tabella per includere le proprietà selezionate.
Data di inizio recupero eventi
Ora UTC (Coordinated Universal Time)
La connessione dati recupera gli eventi esistenti di Hub eventi creati dopo la data di inizio del recupero eventi. È possibile recuperare solo gli eventi conservati dal periodo di conservazione di Hub eventi. Se la data di inizio del recupero eventi non è specificata, l'ora predefinita è l'ora in cui viene creata la connessione dati.
Se lo streaming è abilitato per il cluster, è possibile selezionare Inserimento di streaming. Se lo streaming non è abilitato per il cluster, impostare la latenza di invio in batch dei dati. Per Hub eventi, il tempo di invio in batch consigliato è di 30 secondi.
Selezionare il formato dati. Per i dati in formato CSV, ignorare il primo record per ignorare la riga di intestazione del file. Per i dati in formato JSON, selezionare Ignora errori di formato dati per inserire i dati in formato JSON o lasciare deselezionati per inserire i dati in formato multijson. Selezionare i livelli annidati per determinare la divisione dati della colonna della tabella.
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.
Nota
Per visualizzare un'anteprima dei dati, l'hub eventi deve inviare eventi.
Selezionare Avanti: Riepilogo.
Nella finestra Inserimento continuo dall'hub eventi stabilita , tutti i passaggi vengono contrassegnati con segni di spunta verdi al termine della definizione.
{
"$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"namespaces_eventhubns_name": {
"type": "string",
"defaultValue": "eventhubns",
"metadata": {
"description": "Specifies the Event Hubs Namespace name."
}
},
"EventHubs_eventhubdemo_name": {
"type": "string",
"defaultValue": "eventhubdemo",
"metadata": {
"description": "Specifies the event hub name."
}
},
"consumergroup_default_name": {
"type": "string",
"defaultValue": "$Default",
"metadata": {
"description": "Specifies the consumer group of the event hub."
}
},
"Clusters_kustocluster_name": {
"type": "string",
"defaultValue": "kustocluster",
"metadata": {
"description": "Specifies the name of the cluster"
}
},
"databases_kustodb_name": {
"type": "string",
"defaultValue": "kustodb",
"metadata": {
"description": "Specifies the name of the database"
}
},
"tables_kustotable_name": {
"type": "string",
"defaultValue": "kustotable",
"metadata": {
"description": "Specifies the name of the table"
}
},
"mapping_kustomapping_name": {
"type": "string",
"defaultValue": "kustomapping",
"metadata": {
"description": "Specifies the name of the mapping rule"
}
},
"dataformat_type": {
"type": "string",
"defaultValue": "csv",
"metadata": {
"description": "Specifies the data format"
}
},
"databaseRouting_type": {
"type": "string",
"defaultValue": "Single",
"metadata": {
"description": "The database routing for the connection. If you set the value to **Single**, the data connection will be routed to a single database in the cluster as specified in the *databaseName* setting. If you set the value to **Multi**, you can override the default target database using the *Database* EventData property."
}
},
"dataconnections_kustodc_name": {
"type": "string",
"defaultValue": "kustodc",
"metadata": {
"description": "Name of the data connection to create"
}
},
"subscriptionId": {
"type": "string",
"defaultValue": "[subscription().subscriptionId]",
"metadata": {
"description": "Specifies the subscriptionId of the event hub"
}
},
"resourceGroup": {
"type": "string",
"defaultValue": "[resourceGroup().name]",
"metadata": {
"description": "Specifies the resourceGroup of the event hub"
}
},
"location": {
"type": "string",
"defaultValue": "[resourceGroup().location]",
"metadata": {
"description": "Location for all resources."
}
}
},
"variables": {
},
"resources": [{
"type": "Microsoft.Kusto/Clusters/Databases/DataConnections",
"apiVersion": "2022-02-01",
"name": "[concat(parameters('Clusters_kustocluster_name'), '/', parameters('databases_kustodb_name'), '/', parameters('dataconnections_kustodc_name'))]",
"location": "[parameters('location')]",
"kind": "EventHub",
"properties": {
"managedIdentityResourceId": "[resourceId('Microsoft.Kusto/clusters', parameters('clusters_kustocluster_name'))]",
"eventHubResourceId": "[resourceId(parameters('subscriptionId'), parameters('resourceGroup'), 'Microsoft.EventHub/namespaces/eventhubs', parameters('namespaces_eventhubns_name'), parameters('EventHubs_eventhubdemo_name'))]",
"consumerGroup": "[parameters('consumergroup_default_name')]",
"tableName": "[parameters('tables_kustotable_name')]",
"mappingRuleName": "[parameters('mapping_kustomapping_name')]",
"dataFormat": "[parameters('dataformat_type')]",
"databaseRouting": "[parameters('databaseRouting_type')]"
}
}
]
}