Avvio rapido: Trasmettere i dati con Hub eventi di Azure e Apache Kafka
Articolo
Questo avvio rapido mostra come trasmettere i dati in e da Hub eventi di Azure usando il protocollo Apache Kafka. Non verrà cambiato alcun codice nelle app campione Kafka produttore o consumatore. Sono appena state cambiate le configurazioni che il client usa per puntare a uno spazio dei nomi di Hub eventi, che espone un endpoint Kafka. Inoltre, non si compila e usa un cluster Kafka in autonomia. Si usa invece lo spazio dei nomi di Hub eventi con l'endpoint Kafka.
Quando si crea uno spazio dei nomi di Hub eventi, l'endpoint Kafka per lo spazio dei nomi viene abilitato automaticamente. È ora possibile trasmettere gli eventi dalle applicazioni che usano il protocollo Kafka in Hub eventi. Seguire le istruzioni dettagliate illustrate in Creare un Hub eventi usando il portale di Azure per creare uno spazio dei nomi di Hub eventi. Se è in uso un cluster dedicato, vedere Creare uno spazio dei nomi e un Hub eventi in un cluster dedicato.
Nota
Hub eventi per Kafka non è supportato nel livello Basic.
Inviare e ricevere messaggi con Kafka in Hub eventi
Abilitare l'identità gestita assegnata dal sistema per la macchina virtuale. Per informazioni su come configurare un'identità gestita su una VM, vedere Configurare identità gestite per risorse di Azure in una macchina virtuale tramite il portale di Azure. Le identità gestite per le risorse di Azure offrono servizi di Azure con un'identità gestita automaticamente in Microsoft Entra ID. È possibile usare questa identità per l'autenticazione in qualsiasi servizio che supporta l'autenticazione di Microsoft Entra senza dover immettere le credenziali nel codice.
Usando la pagina Controllo di accesso dello spazio dei nomi di Hub eventi creato, assegnare il ruolo Proprietario dei dati di Hub eventi di Azure all'identità gestita della VM.
Hub eventi di Azure supporta l'utilizzo di Microsoft Entra ID per autorizzare le richieste alle risorse di Hub eventi. Con Microsoft Entra ID, è possibile usare il controllo degli accessi in base al ruolo di Azure per concedere autorizzazioni a un'entità di sicurezza, che può essere un utente o un'entità servizio dell'applicazione.
Passare allo spazio dei nomi degli hub eventi nel portale di Azure. Passare a "Controllo di accesso (IAM)" nella struttura di navigazione di sinistra.
Selezionare + Aggiungi, quindi Add role assignment.
Nella scheda Ruolo, selezionare Proprietario dei dati di Hub eventi di Azure e selezionare il pulsante Avanti.
Alla scheda Membri, selezionare Identità gestita nella sezione Assegnare accesso a.
Selezionare il link +Seleziona membri.
Alla pagina Selezionare identità gestite, seguire questi passaggi:
Selezionare la sottoscrizione di Azure che include la VM.
Per Identità gestita, selezionare Macchina virtuale
Selezionare l'identità gestita della macchina virtuale.
Selezionare Seleziona nella parte inferiore della pagina.
Selezionare Rivedi + Assegna.
Riavviare la macchina virtuale e accedere nuovamente alla VM per cui è stata configurata l'identità gestita.
Tutti gli esempi di OAuth per Hub eventi per Kafka sono disponibili qui.
Tornare alla cartella Consumer in cui si trova il file pom.xml ed eseguire il codice consumer gli eventi del processo dall'Hub eventi usando i client Kafka:
Si dovrebbero vedere i messaggi sugli eventi inviati nella finestra producer. Ora, controllare la finestra dell'app consumer per vedere i messaggi che riceve dall'Hub eventi.
Sostituire {YOUR.EVENTHUBS.CONNECTION.STRING} con la stringa di connessione per lo spazio dei nomi di Hub eventi. Per istruzioni su come ottenere la stringa di connessione, vedere Ottenere una stringa di connessione ad Hub eventi. Ecco un esempio di configurazione: sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username="$ConnectionString" password="Endpoint=sb://mynamespace.servicebus.windows.net/;SharedAccessKeyName=RootManageSharedAccessKey;SharedAccessKey=XXXXXXXXXXXXXXXX";
Eseguire il codice consumer ed elaborare gli eventi dell'hub eventi con i client Kafka:
Sostituire {YOUR.EVENTHUBS.CONNECTION.STRING} con la stringa di connessione per lo spazio dei nomi di Hub eventi. Per istruzioni su come ottenere la stringa di connessione, vedere Ottenere una stringa di connessione ad Hub eventi. Ecco un esempio di configurazione: sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username="$ConnectionString" password="Endpoint=sb://mynamespace.servicebus.windows.net/;SharedAccessKeyName=RootManageSharedAccessKey;SharedAccessKey=XXXXXXXXXXXXXXXX";
Eseguire il codice del producer e trasmettere eventi in Hub eventi:
Se il cluster Kafka di Hub eventi include eventi, ora si dovrebbe iniziare a riceverli dal consumer.
Convalida schema per Kafka con registro schemi
È possibile usare registro schemi di Azure per eseguire una convalida schema quando si trasmettono dati con le applicazioni Kafka usando Hub eventi.
Registro schemi di Azure di Hub eventi fornisce un repository centralizzato per la gestione degli schemi ed è possibile connettere senza problemi le applicazioni Kafka nuove o esistenti con registro schemi.
In questo articolo è stato illustrato come eseguire lo streaming in un'istanza di Hub eventi senza modificare i client di protocollo o eseguire cluster personalizzati. Per altre informazioni, vedere Guida per sviluppatori Apache Kafka per Hub eventi di Azure.
Dimostrare la comprensione delle attività comuni di ingegneria dei dati per implementare e gestire carichi di lavoro di ingegneria dei dati in Microsoft Azure, usando vari servizi di Azure.
Informazioni su Apache Kafka in Hub eventi di Azure e su come usarlo per trasmettere dati dalle applicazioni Apache Kafka senza configurare un cluster Kafka autonomamente.