Quickstart: Gegevens streamen met Azure Event Hubs en Apache Kafka
In deze quickstart ziet u hoe u gegevens kunt streamen naar en van Azure Event Hubs met behulp van het Apache Kafka-protocol. U wijzigt geen code in de kafka-voorbeeld-producent- of consumenten-apps. U werkt alleen de configuraties bij die de clients gebruiken om te verwijzen naar een Event Hubs-naamruimte, waarmee een Kafka-eindpunt wordt weergegeven. U kunt ook zelf geen Kafka-cluster bouwen en gebruiken. In plaats daarvan gebruikt u de Event Hubs-naamruimte met het Kafka-eindpunt.
Notitie
Dit voorbeeld is beschikbaar op GitHub
Vereisten
Zorg ervoor dat u aan de volgende vereisten voldoet om deze snelstart uit te voeren:
- Lees het artikel Event Hubs voor Apache Kafka door.
- Een Azure-abonnement. Als u nog geen abonnement hebt, maakt u een gratis account voordat u begint.
- Maak een virtuele Windows-machine en installeer de volgende onderdelen:
- Java Development Kit (JDK) 1.7+.
- Download en installeer een binair Maven-archief.
- Git
Een Azure Event Hubs-naamruimte maken
Wanneer u een Event Hubs-naamruimte maakt, wordt het Kafka-eindpunt voor de naamruimte automatisch ingeschakeld. U kunt gebeurtenissen streamen vanuit uw toepassingen die gebruikmaken van het Kafka-protocol naar Event Hubs. Volg stapsgewijze instructies in event hub maken met behulp van Azure Portal om een Event Hubs-naamruimte te maken. Als u een toegewezen cluster gebruikt, raadpleegt u Een naamruimte en Event Hub maken in een toegewezen cluster.
Notitie
Event Hubs voor Kafka wordt niet ondersteund in de basic-laag .
Berichten verzenden en ontvangen met Kafka in Event Hubs
Schakel een door het systeem toegewezen beheerde identiteit in voor de virtuele machine. Zie Beheerde identiteiten configureren voor Azure-resources op een VIRTUELE machine met behulp van Azure Portal voor meer informatie over het configureren van beheerde identiteiten op een VIRTUELE machine. Beheerde identiteiten voor Azure-resources bieden Azure-services met een automatisch beheerde identiteit in Microsoft Entra ID. U kunt deze identiteit gebruiken voor verificatie bij alle services die Microsoft Entra-verificatie ondersteunen, zonder dat u aanmeldingsgegevens in uw code hoeft te hebben.
Wijs op de pagina Toegangsbeheer van de Event Hubs-naamruimte die u hebt gemaakt, de rol Azure Event Hubs-gegevenseigenaar toe aan de beheerde identiteit van de virtuele machine. Azure Event Hubs ondersteunt het gebruik van Microsoft Entra-id om aanvragen voor Event Hubs-resources te autoriseren. Met Microsoft Entra ID kunt u op rollen gebaseerd toegangsbeheer van Azure (Azure RBAC) gebruiken om machtigingen te verlenen aan een beveiligingsprincipaal, wat mogelijk een gebruiker of een service-principal voor toepassingen is.
Navigeer in Azure Portal naar uw Event Hubs-naamruimte. Ga in het linkernavigatievenster naar Toegangsbeheer (IAM).
Selecteer + Toevoegen en selecteer
Add role assignment
.Selecteer op het tabblad Rol de gegevenseigenaar van Azure Event Hubs en selecteer de knop Volgende.
Selecteer op het tabblad Leden de beheerde identiteit in de sectie Toegang toewijzen aan .
Selecteer de koppeling +Leden selecteren .
Voer op de pagina Beheerde identiteiten selecteren de volgende stappen uit:
Selecteer het Azure-abonnement met de VIRTUELE machine.
Voor beheerde identiteit selecteert u Virtuele machine
Selecteer de beheerde identiteit van uw virtuele machine.
Selecteer Selecteren onder aan de pagina.
Selecteer Controleren + Toewijzen.
Start de VIRTUELE machine opnieuw op en meld u weer aan bij de VM waarvoor u de beheerde identiteit hebt geconfigureerd.
Kloon de Azure Event Hubs for Kafka-opslagplaats.
Navigeer naar
azure-event-hubs-for-kafka/tutorials/oauth/java/managedidentity/consumer
.Ga naar de
src/main/resources/
map en openconsumer.config
. Vervang doornamespacename
de naam van uw Event Hubs-naamruimte.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;
Notitie
U vindt alle OAuth-voorbeelden voor Event Hubs voor Kafka hier.
Ga terug naar de map Consumer waarin het pom.xml-bestand zich bevindt en voer de consumentencode uit en verwerkt gebeurtenissen vanuit event hub met behulp van uw Kafka-clients:
mvn clean package mvn exec:java -Dexec.mainClass="TestConsumer"
Start een ander opdrachtpromptvenster en navigeer naar
azure-event-hubs-for-kafka/tutorials/oauth/java/managedidentity/producer
.Ga naar de
src/main/resources/
map en openproducer.config
. Vervang doormynamespace
de naam van uw Event Hubs-naamruimte.Ga terug naar de map Producer waar het
pom.xml
bestand zich bevindt en voer de producercode uit en stream gebeurtenissen naar Event Hubs:mvn clean package mvn exec:java -Dexec.mainClass="TestProducer"
U ziet nu berichten over gebeurtenissen die zijn verzonden in het producentvenster. Controleer nu het venster van de consumenten-app om de berichten te zien die het ontvangt van de Event Hub.
Schemavalidatie voor Kafka met schemaregister
U kunt Azure Schema Registry gebruiken om schemavalidatie uit te voeren wanneer u gegevens streamt met uw Kafka-toepassingen met behulp van Event Hubs. Azure Schema Registry van Event Hubs biedt een gecentraliseerde opslagplaats voor het beheren van schema's en u kunt uw nieuwe of bestaande Kafka-toepassingen naadloos verbinden met Schema Registry.
Zie Schema's valideren voor Apache Kafka-toepassingen met behulp van Avro voor meer informatie.
Volgende stappen
In dit artikel hebt u geleerd u hoe u kunt streamen naar Event Hubs zonder uw protocolclients te wijzigen of uw eigen clusters uit te voeren. Zie Ontwikkelaarshandleiding van Apache Kafka voor Azure Event Hubs voor meer informatie.