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.
Hub eventi di Azure fornisce un endpoint Kafka che è possibile usare per connettere le applicazioni Apache Kafka a un servizio di streaming gestito senza eseguire il proprio cluster. Se sono già presenti applicazioni producer o consumer Kafka, è possibile indirizzarle a Hub eventi con modifiche minime alla configurazione.
In questa guida introduttiva, si configurano app di esempio per produttori e consumatori Kafka per trasmettere dati tramite un namespace di Event Hubs utilizzando il protocollo Apache Kafka.
Nota
Questo esempio è disponibile in GitHub.
Prerequisiti
Per completare questa guida introduttiva, accertarsi di soddisfare i requisiti seguenti:
- Leggere con attenzione l'articolo Hub eventi per Apache Kafka.
- Una sottoscrizione di Azure. Se non se ne dispone, creare un account gratuito prima di iniziare.
- Creare una macchina virtuale Windows e installare i componenti seguenti:
- Java Development Kit (JDK) 1.7+.
- Scaricare e installare un archivio binario Maven.
- Git.
Creare uno spazio dei nomi di Hub eventi di Azure
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
Questa sezione illustra come abilitare un'identità gestita per una macchina virtuale e usare tale identità per l'autenticazione con Hub eventi per Kafka. Questo meccanismo di autenticazione è consigliato quando ci si connette a Hub eventi per Kafka da Azure servizi di calcolo perché elimina la necessità di credenziali nel codice.
Abilitare l'identità gestita assegnata dal sistema per la macchina virtuale. Per altre informazioni sulla configurazione dell'identità gestita in una macchina virtuale, vedere Configurare le identità gestite per le risorse di Azure in una macchina virtuale usando 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 Access control dello spazio dei nomi di Event Hubs che hai creato, assegnare il ruolo Hub eventi di Azure Data Owner all'identità gestita della macchina virtuale. 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 (Azure RBAC) per concedere autorizzazioni a un'entità di sicurezza, che può essere un utente o un principale del servizio applicativo.
Nel portale di Azure, vai al namespace degli Event Hubs. Passare a Controllo di accesso (IAM) nel riquadro di spostamento a sinistra.
Selezionare + Aggiungi e selezionare Aggiungi assegnazione di ruolo.
Nella scheda Role selezionare Hub eventi di Azure Data Owner e selezionare Next.
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 di nuovo alla macchina virtuale per cui è stata configurata l'identità gestita.
Clonare gli Hub eventi di Azure per il repository di Kafka.
Accedere a
azure-event-hubs-for-kafka/tutorials/oauth/java/managedidentity/consumer.Passare alla cartella
src/main/resources/e aprireconsumer.config. Sostituirenamespacenamecon il nome dello spazio dei nomi di Hub eventi.bootstrap.servers=NAMESPACENAME.servicebus.windows.net:9093 security.protocol=SASL_SSL sasl.mechanism=OAUTHBEARER sasl.jaas.config=org.apache.kafka.common.security.oauthbearer.OAuthBearerLoginModule required; sasl.login.callback.handler.class=CustomAuthenticateCallbackHandler;Nota
Tutti gli esempi di OAuth per Hub eventi per Kafka sono disponibili qui.
Tornare alla cartella Consumer in cui si trova il
pom.xmlfile ed eseguire il codice consumer per elaborare gli eventi dall'hub eventi usando i client Kafka:mvn clean package mvn exec:java -Dexec.mainClass="TestConsumer"Aprire un'altra finestra del prompt dei comandi e vai a
azure-event-hubs-for-kafka/tutorials/oauth/java/managedidentity/producer.Passare alla cartella
src/main/resources/e aprireproducer.config. Sostituiremynamespacecon il nome dello spazio dei nomi di Hub eventi.Tornare alla cartella Producer in cui si trova il
pom.xmlfile ed eseguire il codice producer per trasmettere gli eventi in Hub eventi:mvn clean package mvn exec:java -Dexec.mainClass="TestProducer"Vengono visualizzati messaggi sugli eventi inviati nella finestra del produttore. Ora, controllare la finestra dell'app consumer per vedere i messaggi che riceve dall'hub eventi.
Convalida schemi per Kafka con Schema Registry
È possibile usare registro schemi di Azure per eseguire una convalida schema quando si trasmettono dati con le applicazioni Kafka usando Hub eventi. Azure Registro schemi di Hub eventi fornisce un repository centralizzato per la gestione degli schemi ed è possibile connettere facilmente le applicazioni Kafka nuove o esistenti con il Registro schemi.
Per scoprire di più, vedere Convalidare schemi per le applicazioni Apache Kafka usando Avro.
Pulire le risorse
Se le risorse non sono più necessarie, eliminare il gruppo di risorse e tutte le risorse correlate. Nel portale di Azure, seleziona il gruppo di risorse per l'namespace di Event Hub e seleziona Elimina.
Passaggi successivi
In questo articolo è stato illustrato come eseguire lo streaming in Event Hubs senza modificare i client di protocollo o gestire cluster personalizzati. Per altre informazioni, vedere Guida per sviluppatori Apache Kafka per Hub eventi di Azure.