Snabbstart: Dataströmning med Event Hubs med hjälp av Kafka-protokollet
Den här snabbstarten visar hur du strömmar till Event Hubs utan att ändra protokollklienter eller köra dina egna kluster. Du lär dig hur du använder dina producenter och konsumenter för att prata Event Hubs med bara en konfigurationsändring i dina program.
Anteckning
Det här exemplet finns på GitHub
Förutsättningar
För att kunna slutföra den här snabbstarten behöver du följande:
- Läs artikeln Event Hubs för Apache Kafka.
- En Azure-prenumeration. Om du inte har ett konto kan du skapa ett kostnadsfritt konto innan du börjar.
- Java Development Kit (JDK) 1.7+.
- Ladda ned och installera ett Maven-binärarkiv.
- Git
Skapa ett Event Hubs-namnområde
När du skapar Event Hubs namnrymd aktiveras Kafka-slutpunkten för namnområdet automatiskt. Du kan strömma händelser från dina program som använder Kafka-protokollet till event hubs. Följ de stegvisa instruktionerna i Skapa en händelsehubb med hjälp Azure Portal skapa en Event Hubs namnrymd. Om du använder ett dedikerat kluster kan du se Skapa ett namnområde och en händelsehubb i ett dedikerat kluster.
Anteckning
Event Hubs för Kafka stöds inte på basic-nivån.
Skicka och ta emot meddelanden med Kafka i Event Hubs
Navigera till
azure-event-hubs-for-kafka/quickstart/java/producer.Uppdatera konfigurationsinformationen för tillverkare i
src/main/resources/producer.configpå följande sätt: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}";Viktigt
Ersätt
{YOUR.EVENTHUBS.CONNECTION.STRING}med anslutningssträngen för Event Hubs namnområdet. Anvisningar om hur du hämtar anslutningssträngen finns i Hämta en Event Hubs-anslutningssträng. Här är ett exempel på en konfiguration: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;Du hittar källkoden för exempelhanterarklassen CustomAuthenticateCallbackHandler på GitHub här.
Kör producentkoden och strömma händelser till Event Hubs:
mvn clean package mvn exec:java -Dexec.mainClass="TestProducer"Navigera till
azure-event-hubs-for-kafka/quickstart/java/consumer.Uppdatera konfigurationsinformationen för konsument i
src/main/resources/consumer.configpå följande sätt: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}";Viktigt
Ersätt
{YOUR.EVENTHUBS.CONNECTION.STRING}med anslutningssträngen för Event Hubs namnområdet. Anvisningar om hur du hämtar anslutningssträngen finns i Hämta en Event Hubs-anslutningssträng. Här är ett exempel på en konfiguration: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;Du hittar källkoden för exempelhanterarklassen CustomAuthenticateCallbackHandler på GitHub här.
Du hittar alla OAuth-exempel för Event Hubs kafka här.
Kör konsumentkoden och bearbeta händelser från händelsehubben med hjälp av dina Kafka-klienter:
mvn clean package mvn exec:java -Dexec.mainClass="TestConsumer"
Om dina Kafka-kluster för Event Hubs har händelser börjar du nu att få dem från konsumenten.
Nästa steg
I den här artikeln har du lärt dig att strömma till Event Hubs utan att ändra protokollklienter eller köra dina egna kluster. Mer information finns i Apache Kafka utvecklarhandbok för Azure Event Hubs.