Inserire dati dall'hub eventi in Esplora dati di AzureIngest data from Event Hub into Azure Data Explorer

Esplora dati di Azure è un servizio di esplorazione dati rapido e a scalabilità elevata per dati di log e di telemetria.Azure Data Explorer is a fast and highly scalable data exploration service for log and telemetry data. Azure Esplora dati offre l'inserimento (caricamento dei dati) dagli hub eventi, dagli hub Internet e dai BLOB scritti nei contenitori BLOB.Azure Data Explorer offers ingestion (data loading) from Event Hubs, IoT Hubs, and blobs written to blob containers.

Esplora dati di Azure consente l'inserimento (caricamento dei dati) da Hub eventi, una piattaforma di Big Data streaming e un servizio di inserimento di eventi.Azure Data Explorer offers ingestion (data loading) from Event Hubs, a big data streaming platform and event ingestion service. Hub eventi riesce a elaborare milioni di eventi al secondo quasi in tempo reale.Event Hubs can process millions of events per second in near real-time. In questo articolo viene creato un hub eventi, ci si connette da Azure Esplora dati e si Visualizza il flusso di dati attraverso il sistema.In this article, you create an event hub, connect to it from Azure Data Explorer and see data flow through the system.

Per informazioni generali sull'inserimento in Esplora dati di Azure dall'hub eventi, vedere connettersi all'hub eventi.For general information about ingesting into Azure Data Explorer from Event Hub, see Connect to Event Hub.

PrerequisitiPrerequisites

Accedere al portale di AzureSign in to the Azure portal

Accedere al portale di Azure.Sign in to the Azure portal.

Creare un hub eventiCreate an event hub

In questo articolo vengono generati dati di esempio e inviati a un hub eventi.In this article, you generate sample data and send it to an event hub. Il primo passaggio consiste nel creare un hub eventi.The first step is to create an event hub. A tale scopo, usare un modello di Azure Resource Manager nel portale di Azure.You do this by using an Azure Resource Manager template in the Azure portal.

  1. Per creare un hub eventi, usare il pulsante seguente per avviare la distribuzione.To create an event hub, use the following button to start the deployment. Fare clic con il pulsante destro del mouse e selezionare Apri in una nuova finestra per poter seguire il resto dei passaggi di questo articolo.Right-click and select Open in new window, so you can follow the rest of the steps in this article.

    Pulsante Deploy to Azure per la distribuzione in AzureDeploy to Azure button

    Il pulsante Distribuzione in Azure consente di passare al portale di Azure per compilare un modulo di distribuzione.The Deploy to Azure button takes you to the Azure portal to fill out a deployment form.

    Creare un modulo di hub eventi

  2. Selezionare la sottoscrizione in cui si vuole creare l'hub eventi e creare un gruppo di risorse denominato test-hub-rg.Select the subscription where you want to create the event hub, and create a resource group named test-hub-rg.

    Creare un gruppo di risorse

  3. Compilare il modulo con le informazioni seguenti.Fill out the form with the following information.

    Modulo di distribuzione

    Usare i valori predefiniti per tutte le impostazioni non elencate nella tabella seguente.Use defaults for any settings not listed in the following table.

    ImpostazioneSetting Valore consigliatoSuggested value Descrizione campoField description
    SubscriptionSubscription Sottoscrizione in usoYour subscription Selezionare la sottoscrizione di Azure da usare per l'hub eventi.Select the Azure subscription that you want to use for your event hub.
    Resource groupResource group test-hub-rgtest-hub-rg Creare un nuovo gruppo di risorse.Create a new resource group.
    LocationLocation Stati Uniti occidentaliWest US Per questo articolo, selezionare Stati Uniti occidentali .Select West US for this article. Per un sistema di produzione, selezionare l'area più appropriata in base alle esigenze.For a production system, select the region that best meets your needs. Per prestazioni ottimali creare lo spazio dei nomi dell'hub eventi nella stessa località del cluster Kusto (più importante per spazi dei nomi dell'hub eventi con velocità effettiva elevata).Create the event hub namespace in the same Location as the Kusto cluster for best performance (most important for event hub namespaces with high throughput).
    Nome spazio dei nomiNamespace name Nome dello spazio dei nomi univocoA unique namespace name Scegliere un nome univoco per identificare lo spazio dei nomi.Choose a unique name that identifies your namespace. Ad esempio, spazionomitest.For example, mytestnamespace. Il nome di dominio servicebus.windows.net viene accodato al nome specificato.The domain name servicebus.windows.net is appended to the name you provide. Il nome può contenere solo lettere, numeri e trattini.The name can contain only letters, numbers, and hyphens. Il nome deve iniziare con una lettera e deve terminare con una lettera o un numero.The name must start with a letter, and it must end with a letter or number. La lunghezza del valore deve essere compresa tra 6 e 50 caratteri.The value must be between 6 and 50 characters long.
    Nome hub eventiEvent hub name test-hubtest-hub L'hub eventi si trova nello spazio dei nomi, che fornisce un contenitore di ambito univoco.The event hub sits under the namespace, which provides a unique scoping container. Il nome dell'hub eventi deve essere univoco all'interno dello spazio dei nomi.The event hub name must be unique within the namespace.
    Consumer group name (Nome gruppo di consumer)Consumer group name test-grouptest-group I gruppi di consumer consentono a più applicazioni di avere ognuna una visualizzazione distinta del flusso di eventi.Consumer groups enable multiple consuming applications to each have a separate view of the event stream.
  4. Selezionare Acquisto per indicare che si stanno creando risorse nella sottoscrizione.Select Purchase, which acknowledges that you're creating resources in your subscription.

  5. Selezionare Notifiche nella barra degli strumenti per monitorare il processo di provisioning.Select Notifications on the toolbar to monitor the provisioning process. Il completamento della distribuzione potrebbe richiedere diversi minuti. Al termine, è possibile procedere con il passaggio successivo.It might take several minutes for the deployment to succeed, but you can move on to the next step now.

    icona Notifiche

Creare una tabella di destinazione in Esplora dati di AzureCreate a target table in Azure Data Explorer

Verrà ora creata una tabella in Esplora dati di Azure a cui saranno inviati i dati da Hub eventi.Now you create a table in Azure Data Explorer, to which Event Hubs will send data. La tabella viene creata nel cluster e nel database di cui è stato effettuato il provisioning in Prerequisiti.You create the table in the cluster and database provisioned in Prerequisites.

  1. Nel portale di Azure passare al cluster, quindi selezionare Query.In the Azure portal, navigate to your cluster then select Query.

    Collegamento all'applicazione di query

  2. Copiare il comando seguente nella finestra e selezionare Esegui per creare la tabella (TestTable) che riceverà i dati inseriti.Copy the following command into the window and select Run to create the table (TestTable) which will receive the ingested data.

    .create table TestTable (TimeStamp: datetime, Name: string, Metric: int, Source:string)
    

    Esecuzione della creazione di query

  3. Copiare il comando seguente nella finestra e selezionare Esegui per eseguire il mapping dei dati JSON in ingresso ai nomi di colonna e ai tipi di dati della tabella (TestTable).Copy the following command into the window and select Run to map the incoming JSON data to the column names and data types of the table (TestTable).

    .create table TestTable ingestion json mapping 'TestMapping' '[{"column":"TimeStamp", "Properties": {"Path": "$.timeStamp"}},{"column":"Name", "Properties": {"Path":"$.name"}} ,{"column":"Metric", "Properties": {"Path":"$.metric"}}, {"column":"Source", "Properties": {"Path":"$.source"}}]'
    

Connettersi all'hub eventiConnect to the event hub

A questo punto è possibile connettersi all'hub eventi da Esplora dati di Azure.Now you connect to the event hub from Azure Data Explorer. Quando questa connessione è attiva, i dati che confluiscono nell'hub eventi confluiscono nella tabella di test creata in precedenza in questo articolo.When this connection is in place, data that flows into the event hub streams to the test table you created earlier in this article.

  1. Selezionare Notifiche sulla barra degli strumenti per verificare che la distribuzione dell'hub eventi abbia avuto esito positivo.Select Notifications on the toolbar to verify that the event hub deployment was successful.

  2. Nel cluster creato selezionare Database e quindi TestDatabase.Under the cluster you created, select Databases then TestDatabase.

    Selezionare il database di test

  3. Selezionare Inserimento dati e Aggiungi connessione dati.Select Data ingestion and Add data connection.

    Selezionare inserimento dati e Aggiungi connessione dati nell'hub eventi-Azure Esplora dati

Creare una connessione datiCreate a data connection

  1. Compilare il modulo con le informazioni seguenti:Fill out the form with the following information:

    Hub eventi del riquadro connessione dati-Azure Esplora dati

    ImpostazioneSetting Valore consigliatoSuggested value Descrizione campoField description
    Data connection name (Nome connessione dati)Data connection name test-hub-connectiontest-hub-connection Nome della connessione da creare in Esplora dati di Azure.The name of the connection you want to create in Azure Data Explorer.
    SubscriptionSubscription ID sottoscrizione in cui si trova la risorsa Hub eventi.The subscription ID where the Event Hub resource is located.
    Spazio dei nomi dell'hub eventiEvent Hub namespace Nome dello spazio dei nomi univocoA unique namespace name Nome scelto in precedenza che identifica lo spazio dei nomi.The name you chose earlier that identifies your namespace.
    Hub eventiEvent Hub test-hubtest-hub Hub eventi creato.The event Hub you created.
    Gruppo di consumerConsumer group test-grouptest-group Il gruppo di consumer definito nell'hub eventi creato.The consumer group defined in the Event Hub you created.
    Proprietà del sistema eventiEvent system properties Selezionare le proprietà rilevantiSelect relevant properties Proprietà di sistema dell'hub eventi.The Event Hub system properties. Se sono presenti più record per ogni messaggio di evento, le proprietà di sistema verranno aggiunte alla prima.If there are multiple records per event message, the system properties will be added to the first one. Quando si aggiungono le proprietà di sistema, creare o aggiornare lo schema e il mapping della tabella per includere le proprietà selezionate.When adding system properties, create or update table schema and mapping to include the selected properties.
    CompressioneCompression NessunoNone Tipo di compressione del payload dei messaggi dell'hub eventi.The compression type of the Event Hub messages payload. Tipi di compressione supportati: None, gzip.Supported compression types: None, GZip.

Tabella di destinazioneTarget table

Sono disponibili due opzioni per il routing dei dati inseriti: statico e dinamico.There are two options for routing the ingested data: static and dynamic. Per questo articolo si usa il routing statico, in cui è possibile specificare il nome della tabella, il formato dei dati e il mapping come valori predefiniti.For this article, you use static routing, where you specify the table name, data format, and mapping as default values. Se il messaggio dell'hub eventi include informazioni sul routing dei dati, queste informazioni di routing sostituiranno le impostazioni predefinite.If the Event Hub message includes data routing information, this routing information will override the default settings.

  1. Compilare le seguenti impostazioni di routing:Fill out the following routing settings:

    Impostazioni di routing predefinite per l'inserimento di dati nell'hub eventi-Azure Esplora dati

    ImpostazioneSetting Valore consigliatoSuggested value Descrizione campoField description
    Nome tabellaTable name TestTableTestTable Tabella creata in TestDatabase.The table you created in TestDatabase.
    Formato datiData format JSONJSON I formati supportati sono Avro, CSV, JSON, MULTILINE JSON, ORC, PARQUET, PSV, SCSV, SOHSV, TSV, TXT, TSVE, APACHEAVRO e W3CLOG.Supported formats are Avro, CSV, JSON, MULTILINE JSON, ORC, PARQUET, PSV, SCSV, SOHSV, TSV, TXT, TSVE, APACHEAVRO, and W3CLOG.
    MappingMapping TestMappingTestMapping Il mapping creato in TestDatabase, che esegue il mapping dei dati in ingresso ai nomi di colonna e ai tipi di dati di TestTable.The mapping you created in TestDatabase, which maps incoming data to the column names and data types of TestTable. Obbligatorio per JSON, multiriga JSON e AVRO e facoltativo per altri formati.Required for JSON, MULTILINE JSON and AVRO, and optional for other formats.

    Nota

    • Non è necessario specificare tutte le impostazioni di routing predefinite.You don't have to specify all Default routing settings. Vengono accettate anche le impostazioni parziali.Partial settings are also accepted.
    • Vengono inseriti solo gli eventi accodati dopo la creazione della connessione dati.Only events enqueued after you create the data connection are ingested.
  2. Selezionare Create (Crea).Select Create.

Mapping delle proprietà del sistema eventiEvent system properties mapping

Nota

  • Le proprietà di sistema sono supportate per gli eventi a record singolo.System properties are supported for single-record events.
  • Per csv il mapping, le proprietà vengono aggiunte all'inizio del record.For csv mapping, properties are added at the beginning of the record. Per json il mapping, le proprietà vengono aggiunte in base al nome visualizzato nell'elenco a discesa.For json mapping, properties are added according to the name that appears in the drop-down list.

Se è stata selezionata l'opzione Proprietà sistema eventi nella sezione origine dati della tabella, è necessario includere le proprietà di sistema nello schema e nel mapping della tabella.If you selected Event system properties in the Data Source section of the table, you must include system properties in the table schema and mapping.

Copia della stringa di connessioneCopy the connection string

Quando si esegue l'app di esempio elencata in Prerequisiti, è necessaria la stringa di connessione per lo spazio dei nomi dell'hub eventi.When you run the sample app listed in Prerequisites, you need the connection string for the event hub namespace.

  1. Nello spazio dei nomi dell'hub eventi creato selezionare Criteri di accesso condiviso e quindi RootManageSharedAccessKey.Under the event hub namespace you created, select Shared access policies, then RootManageSharedAccessKey.

    Criteri di accesso condivisi

  2. Copia stringa di connessione-chiave primaria.Copy Connection string - primary key. Verrà incollata nella sezione successiva.You paste it in the next section.

    Stringa di connessione

Generare i dati di esempioGenerate sample data

Usare l'app di esempio scaricata per generare dati.Use the sample app you downloaded to generate data.

  1. Aprire la soluzione dell'app di esempio in Visual Studio.Open the sample app solution in Visual Studio.

  2. Nel file Program.cs aggiornare la eventHubName costante al nome dell'hub eventi e aggiornare la connectionString costante alla stringa di connessione copiata dallo spazio dei nomi dell'hub eventi.In the program.cs file, update the eventHubName constant to the name of your Event Hub and update the connectionString constant to the connection string you copied from the Event Hub namespace.

    const string eventHubName = "test-hub";
    // Copy the connection string ("Connection string-primary key") from your Event Hub namespace.
    const string connectionString = @"<YourConnectionString>";
    
  3. Compila ed esegui l'app.Build and run the app. L'app invia messaggi all'hub eventi e visualizza lo stato ogni dieci secondi.The app sends messages to the event hub, and it prints out status every ten seconds.

  4. Dopo che l'app ha inviato alcuni messaggi, andare al passaggio successivo: esaminare il flusso di dati nell'hub eventi e nella tabella di test.After the app has sent a few messages, move on to the next step: reviewing the flow of data into your event hub and test table.

Esaminare il flusso di datiReview the data flow

Con i dati generati dall'app, è ora possibile vedere il flusso di tali dati dall'hub eventi alla tabella del cluster.With the app generating data, you can now see the flow of that data from the event hub to the table in your cluster.

  1. Nel portale di Azure, in corrispondenza dell'hub eventi si noterà un picco nell'attività durante l'esecuzione dell'app.In the Azure portal, under your event hub, you see the spike in activity while the app is running.

    Grafico dell'hub eventi

  2. Per verificare il numero di messaggi arrivati al database fino a questo momento, eseguire la query seguente nel database di test.To check how many messages have made it to the database so far, run the following query in your test database.

    TestTable
    | count
    
  3. Per visualizzare il contenuto dei messaggi, eseguire la query seguente:To see the content of the messages, run the following query:

    TestTable
    

    Il set di risultati dovrebbe essere simile al seguente:The result set should look like the following:

    Set di risultati dei messaggi

    Nota

    • Esplora dati di Azure prevede un criterio di aggregazione (invio in batch) per l'inserimento di dati, progettato per ottimizzare il processo di inserimento.Azure Data Explorer has an aggregation (batching) policy for data ingestion, designed to optimize the ingestion process. Per impostazione predefinita, i criteri sono configurati su 5 minuti o 500 MB di dati, pertanto è possibile che si verifichi una latenza.The policy is configured to 5 minutes or 500 MB of data, by default, so you may experience a latency. Per le opzioni di aggregazione, vedere criteri di creazione di batch.See batching policy for aggregation options.
    • L'inserimento di hub eventi include il tempo di risposta dell'hub eventi di 10 secondi o 1 MB.Event Hub ingestion includes Event Hub response time of 10 seconds or 1 MB.
    • Configurare la tabella in modo da supportare il flusso e rimuovere il ritardo nel tempo di risposta.Configure your table to support streaming and remove the lag in response time. Vedere i criteri di streaming.See streaming policy.

Pulire le risorseClean up resources

Se non si prevede di usare nuovamente l'hub eventi, eliminare test-hub-rg, per evitare l'addebito di costi.If you don't plan to use your event hub again, clean up test-hub-rg, to avoid incurring costs.

  1. Nel portale di Azure selezionare Gruppi di risorse all'estrema sinistra e quindi selezionare il gruppo di risorse creato.In the Azure portal, select Resource groups on the far left, and then select the resource group you created.

    Se il menu a sinistra è compresso, selezionareIf the left menu is collapsed, select pulsante Espandi per espanderlo.to expand it.

    Selezionare il gruppo di risorse da eliminare

  2. In test-resource-group selezionare Elimina gruppo di risorse.Under test-resource-group, select Delete resource group.

  3. Nella nuova finestra digitare il nome del gruppo di risorse da eliminare (test-hub-rg) e quindi selezionare Elimina.In the new window, type the name of the resource group to delete (test-hub-rg), and then select Delete.

Passaggi successiviNext steps