Quickstart: Streamen naar Event Hubs met behulp van API's en het Kafka-protocol
Deze snelstart laat zien hoe u kunt streamen naar Event Hubs zonder uw protocolclients te wijzigen of uw eigen clusters uit te voeren. U leert hoe u uw producenten kunt gebruiken en consumenten met Event Hubs, kunnen praten met slechts een configuratiewijziging in uw toepassingen.
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 account hebt, maakt u een gratis account voordat u begint.
- Java Development Kit (JDK) 1.7+.
- Download en installeer een binair Maven-archief.
- Git
Een Event Hubs-naamruimte maken
Wanneer u een Event Hubs maakt, wordt het Kafka-eindpunt voor de naamruimte automatisch ingeschakeld. U kunt gebeurtenissen streamen van uw toepassingen die gebruikmaken van het Kafka-protocol naar Event Hubs. Volg stapsgewijs instructies in Event Hub maken met behulp van Azure Portal om een Event Hubs maken. Zie Een naamruimte en Event Hub maken in een toegewezen cluster als u een toegewezen cluster gebruikt.
Notitie
Event Hubs voor Kafka wordt niet ondersteund in de basic-laag.
Berichten verzenden en ontvangen met Kafka in Event Hubs
Kloon de Azure Event Hubs for Kafka-opslagplaats.
Navigeer naar
azure-event-hubs-for-kafka/quickstart/java/producer.Werk de configuratiegegevens voor de producent in
src/main/resources/producer.configals volgt bij:TLS/SSL:
bootstrap.servers=NAMESPACENAME.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="{YOUR.EVENTHUBS.CONNECTION.STRING}";Belangrijk
Vervang
{YOUR.EVENTHUBS.CONNECTION.STRING}door de verbindingsreeks voor uw Event Hubs-naamruimte. Zie Een verbindingsreeks voor Event Hubs ophalen voor instructies voor het ophalen van de verbindingsreeks. Hier volgt een voorbeeldconfiguratie:sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username="$ConnectionString" password="Endpoint=sb://mynamespace.servicebus.windows.net/;SharedAccessKeyName=RootManageSharedAccessKey;SharedAccessKey=XXXXXXXXXXXXXXXX";OAuth:
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;U vindt de broncode voor de voorbeeld-handlerklasse CustomAuthenticateCallbackHandler in GitHub hier.
Voer de producentcode uit en stream gebeurtenissen naar Event Hubs:
mvn clean package mvn exec:java -Dexec.mainClass="TestProducer"Navigeer naar
azure-event-hubs-for-kafka/quickstart/java/consumer.Werk de configuratiegegevens voor de consument in
src/main/resources/consumer.configals volgt bij:TLS/SSL:
bootstrap.servers=NAMESPACENAME.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="{YOUR.EVENTHUBS.CONNECTION.STRING}";Belangrijk
Vervang
{YOUR.EVENTHUBS.CONNECTION.STRING}door de verbindingsreeks voor uw Event Hubs-naamruimte. Zie Een verbindingsreeks voor Event Hubs ophalen voor instructies voor het ophalen van de verbindingsreeks. Hier volgt een voorbeeldconfiguratie:sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username="$ConnectionString" password="Endpoint=sb://mynamespace.servicebus.windows.net/;SharedAccessKeyName=RootManageSharedAccessKey;SharedAccessKey=XXXXXXXXXXXXXXXX";OAuth:
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;U vindt de broncode voor de voorbeeld-handlerklasse CustomAuthenticateCallbackHandler in GitHub hier.
U vindt alle OAuth-voorbeelden voor Event Hubs voor Kafka hier.
Voer de consumentcode en verwerk gebeurtenissen vanuit Event Hubs met behulp van uw Kafka-clients:
mvn clean package mvn exec:java -Dexec.mainClass="TestConsumer"
Als uw Event Hubs Kafka-cluster gebeurtenissen heeft, moet u deze nu ontvangen van de consument.
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.