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:
- Lesen Sie den Artikel Event Hubs für Apache Kafka.
- Ein Azure-Abonnement. Sollten Sie kein Abonnement besitzen, können Sie ein kostenloses Konto erstellen, bevor Sie beginnen.
- Erstellen Sie einen virtuellen Windows-Computer, und installieren Sie die folgenden Komponenten:
- Java Development Kit (JDK) 1.7 oder höher
- Ein binäres Maven-Archiv (Download/Installationsanleitung)
- Git-Client
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
Klonen Sie das Azure Event Hubs-Repository für Kafka.
Navigieren Sie zu azure-event-hubs-for-kafka/quickstart/java/producer.
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";
Führen Sie den Producer-Code aus, und streamen Sie Ereignisse an Event Hubs:
mvn clean package mvn exec:java -Dexec.mainClass="TestProducer"
Navigieren Sie zu azure-event-hubs-for-kafka/quickstart/java/consumer.
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";
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.