Schnellstart: Datenstreaming mit Event Hubs mithilfe des Kafka-Protokolls

In dieser Schnellstartanleitung erfahren Sie, wie Daten an Event Hubs gestreamt werden, ohne dass Sie Protokollclients ändern oder eigene Cluster betreiben müssen. Sie lernen, wie Sie über Ihre Producer und Consumer mit Event Hubs kommunizieren – mit nur einer Konfigurationsänderung in Ihren Anwendungen.

Hinweis

Dieses Beispiel ist auf GitHub verfügbar.

Voraussetzungen

Für diese Schnellstartanleitung benötigen Sie Folgendes:

Erstellen eines Event Hubs-Namespace

Wenn Sie einen Event Hubs-Namespace erstellen, wird der Kafka-Endpunkt für den Namespace automatisch aktiviert. Sie können Ereignisse von Ihren Anwendungen streamen, die das Kafka-Protokoll in Event Hubs verwenden. Befolgen Sie die Schritt-für-Schritt-Anleitung unter Erstellen eines Event Hubs mithilfe des Azure-Portals, um einen Event Hubs-Namespace zu erstellen. Wenn Sie einen dedizierten Cluster verwenden, finden Sie weitere Informationen unter Erstellen eines Namespace und eines Event Hubs in einem dedizierten Cluster.

Hinweis

Event Hubs für Kafka wird im Basic-Tarif nicht unterstützt.

Senden und Empfangen von Nachrichten mit Kafka in Event Hubs

  1. Klonen Sie das Azure Event Hubs-Repository für Kafka.

  2. Navigieren Sie zu azure-event-hubs-for-kafka/quickstart/java/producer.

  3. Aktualisieren Sie die Konfigurationsdetails für den Producer in src/main/resources/producer.config folgendermaßen:

    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}";
    

    Wichtig

    Ersetzen Sie {YOUR.EVENTHUBS.CONNECTION.STRING} durch die Verbindungszeichenfolge für Ihren Event Hubs-Namespace. Anweisungen zum Abrufen der Verbindungszeichenfolge finden Sie unter Abrufen einer Event Hubs-Verbindungszeichenfolge. Hier sehen Sie eine Beispielkonfiguration: sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username="$ConnectionString" password="Endpoint=sb://mynamespace.servicebus.windows.net/;SharedAccessKeyName=RootManageSharedAccessKey;SharedAccessKey=XXXXXXXXXXXXXXXX";

  4. Führen Sie den Producer-Code aus, und streamen Sie Ereignisse an Event Hubs:

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

  6. Aktualisieren Sie die Konfigurationsdetails für den Consumer in src/main/resources/consumer.config folgendermaßen:

    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}";
    

    Wichtig

    Ersetzen Sie {YOUR.EVENTHUBS.CONNECTION.STRING} durch die Verbindungszeichenfolge für Ihren Event Hubs-Namespace. Anweisungen zum Abrufen der Verbindungszeichenfolge finden Sie unter Abrufen einer Event Hubs-Verbindungszeichenfolge. Hier sehen Sie eine Beispielkonfiguration: sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username="$ConnectionString" password="Endpoint=sb://mynamespace.servicebus.windows.net/;SharedAccessKeyName=RootManageSharedAccessKey;SharedAccessKey=XXXXXXXXXXXXXXXX";

  7. Führen Sie den Consumercode und die Prozessereignisse über Event Hubs unter Verwendung Ihrer Kafka-Clients aus:

    mvn clean package
    mvn exec:java -Dexec.mainClass="TestConsumer"
    

Wenn Ihr Kafka-Cluster in Event Hubs über Ereignisse verfügt, werden diese nun allmählich vom Consumer empfangen.

Nächste Schritte

In diesem Artikel haben Sie erfahren, wie Daten an Event Hubs gestreamt werden, ohne dass Sie Protokollclients ändern oder eigene Cluster ausführen müssen. Weitere Informationen finden Sie unter Apache Kafka-Entwicklerleitfaden für Azure Event Hubs.