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:

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

  1. Klona Azure Event Hubs för Kafka-lagringsplats.

  2. Navigera till azure-event-hubs-for-kafka/quickstart/java/producer.

  3. Uppdatera konfigurationsinformationen för tillverkare i src/main/resources/producer.config på 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.

  4. Kör producentkoden och strömma händelser till Event Hubs:

    mvn clean package
    mvn exec:java -Dexec.mainClass="TestProducer"                                    
    
  5. Navigera till azure-event-hubs-for-kafka/quickstart/java/consumer.

  6. Uppdatera konfigurationsinformationen för konsument i src/main/resources/consumer.config på 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.

  7. 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.