Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Questo articolo illustra come trasmettere i dati in Hub eventi ed elaborarli con Analisi di flusso di Azure. Illustra i passaggi seguenti:
- Creare uno spazio dei nomi di Event Hub.
- Creare un client Kafka che invia messaggi all'hub eventi.
- Creare un processo di Analisi di flusso che copia i dati dall'hub eventi in un archivio BLOB di Azure.
Non è necessario modificare i client di protocollo o eseguire cluster personalizzati quando si usa l'endpoint Kafka esposto da un hub eventi. Hub eventi di Azure supporta Apache Kafka versione 1.0 e successive.
Prerequisiti
Per completare questa guida introduttiva, assicurarsi di avere i prerequisiti seguenti:
- Una sottoscrizione di Azure. Se non ne hai uno, crea un account gratuito prima di iniziare.
- Java Development Kit (JDK) 1.7+.
- Scaricare e installare un archivio binario Maven.
- Git
- Un account di archiviazione di Azure. Se non è disponibile, crearne uno prima di procedere. Il processo di Stream Analytics in questo walkthrough archivia i dati di output in un archivio blob di Azure.
Creare uno spazio dei nomi di Hub eventi
Quando si crea uno spazio dei nomi di Event Hubs, l'endpoint Kafka per lo spazio dei nomi viene abilitato automaticamente. È possibile trasmettere eventi dalle applicazioni che usano il protocollo Kafka in hub eventi. Seguire le istruzioni dettagliate in Creare un Event Hub usando il portale di Azure per creare un namespace di Event Hubs. Se si usa un cluster dedicato, vedere Creare uno spazio dei nomi e un hub eventi in un cluster dedicato.
Annotazioni
Hub eventi per Kafka non è supportato nel livello basic .
Inviare messaggi con Kafka negli Event Hub
Clonare il repository di Azure Event Hubs per Kafka sulla tua macchina.
Passare alla cartella :
azure-event-hubs-for-kafka/quickstart/java/producer.Aggiorna i dettagli di configurazione per il produttore in
src/main/resources/producer.config. Specificare il nome e la stringa di connessione per lo spazio dei nomi dell'hub eventi.bootstrap.servers={EVENT HUB NAMESPACE}.servicebus.windows.net:9093 security.protocol=SASL_SSL sasl.mechanism=PLAIN sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username="$ConnectionString" password="{CONNECTION STRING for EVENT HUB NAMESPACE}";Passare a
azure-event-hubs-for-kafka/quickstart/java/producer/src/main/java/e aprire TestDataReporter.java file in un editor di propria scelta.Impostare come commento la riga di codice seguente:
//final ProducerRecord<Long, String> record = new ProducerRecord<Long, String>(TOPIC, time, "Test Data " + i);Aggiungere la riga di codice seguente al posto del codice commentato:
final ProducerRecord<Long, String> record = new ProducerRecord<Long, String>(TOPIC, time, "{ \"eventData\": \"Test Data " + i + "\" }");Questo codice invia i dati dell'evento in formato JSON . Quando si configura l'input per un processo di Analisi di flusso, si specifica JSON come formato per i dati di input.
Eseguire il producer ed eseguire lo streaming in Hub eventi. In un computer Windows, quando si usa un prompt dei comandi di Node.js, passare alla cartella
azure-event-hubs-for-kafka/quickstart/java/producerprima di eseguire questi comandi.mvn clean package mvn exec:java -Dexec.mainClass="TestProducer"
Verificare che l'hub eventi riceva i dati
Selezionare Hub eventi in ENTITÀ. Verificare che venga visualizzato un hub eventi denominato test.
Confermare che messaggi in arrivo vengano visualizzati nell'Event Hub.
Elaborare i dati degli eventi usando un processo di Analisi di flusso
In questa sezione viene creato un processo di Analisi di flusso di Azure. Il client Kafka invia eventi all'hub eventi. Si crea un processo di Analisi di flusso che accetta i dati dell'evento come input e lo restituisce in un archivio BLOB di Azure. Se non si ha un account di archiviazione di Azure, crearne uno.
La query nel processo di Analisi di flusso di Azure attraversa i dati senza eseguire alcuna analisi. È possibile creare una query che trasforma i dati di input per produrre dati di output in un formato diverso o con informazioni dettagliate acquisite.
Creare un processo di Analisi di flusso.
- Selezionare + Crea una risorsa nel portale di Azure.
- Selezionare Analisi nel menu di Azure Marketplace e selezionare Processo di Analisi di flusso.
- Nella pagina New Stream Analytics (Nuova analisi di flusso ) eseguire le azioni seguenti:
Immettere un nome per il processo.
Selezionare la sottoscrizione.
Selezionare Crea nuovo per il gruppo di risorse e immettere il nome. È anche possibile usare un gruppo di risorse esistente.
Seleziona una sede per il lavoro.
Selezionare Crea per creare l'attività.
Configurare l'input del processo
Nel messaggio di notifica selezionare Vai alla risorsa per visualizzare la pagina del Stream Analytics job.
Selezionare Input nella sezione TOPOLOGIA PROCESSO nel menu di sinistra.
Selezionare Aggiungi input del flusso e selezionare Hub eventi.
Nella pagina di configurazione dell'input dell'Event Hub, eseguire le seguenti azioni:
Specificare un alias per l'input.
Selezionare la sottoscrizione di Azure.
Selezionare il namespace dell'hub di eventi creato in precedenza.
Selezionare test per Event Hub.
Seleziona Salva.
Configurare l'output del lavoro
- Selezionare Output nella sezione TOPOLOGIA PROCESSO nel menu.
- Selezionare + Aggiungi sulla barra degli strumenti e selezionare Archiviazione BLOB
- Nella pagina delle impostazioni dell'output dell'archivio BLOB eseguire queste azioni:
Specificare un alias per l'output.
Selezionare la sottoscrizione di Azure.
Selezionare l'account di archiviazione di Azure.
Immettere un nome per il contenitore che archivia i dati di output dalla query di Analisi di flusso.
Seleziona Salva.
Definire una interrogazione
Dopo aver configurato un processo di Analisi di flusso per leggere un flusso di dati in ingresso, il passaggio successivo consiste nel creare una trasformazione che analizza i dati in tempo reale. È possibile definire la query di trasformazione usando il Stream Analytics Query Language. In questa procedura dettagliata viene definita una query che passa attraverso i dati senza eseguire alcuna trasformazione.
Selezionare Query.
Nella finestra della query sostituire
[YourOutputAlias]con l'alias di output creato in precedenza.Sostituire
[YourInputAlias]con l'alias di input creato in precedenza.Selezionare Salva sulla barra degli strumenti.
Eseguire il processo di Analisi di flusso
Selezionare Panoramica nel menu a sinistra.
Selezionare Avvia.
Nella pagina Avvia processo selezionare Avvia.
Attendere che lo stato del processo cambi da Avvio a esecuzione.
Testare lo scenario
Eseguire nuovamente il producer Kafka per inviare gli eventi all'hub degli eventi.
mvn exec:java -Dexec.mainClass="TestProducer"Assicurarsi di visualizzare i dati di output generati nell'archivio BLOB di Azure. Nel contenitore viene visualizzato un file JSON con 100 righe simili alle righe di esempio seguenti:
{"eventData":"Test Data 0","EventProcessedUtcTime":"2018-08-30T03:27:23.1592910Z","PartitionId":0,"EventEnqueuedUtcTime":"2018-08-30T03:27:22.9220000Z"} {"eventData":"Test Data 1","EventProcessedUtcTime":"2018-08-30T03:27:23.3936511Z","PartitionId":0,"EventEnqueuedUtcTime":"2018-08-30T03:27:22.9220000Z"} {"eventData":"Test Data 2","EventProcessedUtcTime":"2018-08-30T03:27:23.3936511Z","PartitionId":0,"EventEnqueuedUtcTime":"2018-08-30T03:27:22.9220000Z"}Il processo di Analisi di flusso di Azure ha ricevuto i dati di input dall'hub eventi e lo ha archiviato nell'archivio BLOB di Azure in questo scenario.
Passaggi successivi
In questo articolo si è appreso come eseguire lo streaming in Hub eventi senza modificare i client di protocollo o eseguire cluster personalizzati. Per altre informazioni su Hub eventi per Apache Kafka, vedere la guida per sviluppatori apache Kafka per Hub eventi di Azure.