Schnellstart: Streamen von Daten mit Azure Event Hubs und Apache Kafka
Artikel
In dieser Schnellstartanleitung erfahren Sie, wie Sie Daten mithilfe des Apache Kafka-Protokolls in und aus Azure Event Hubs streamen. Sie ändern keinen Code in den Kafka-Beispiel-Producer- oder Consumer-Apps. Sie aktualisieren einfach die Konfigurationen, mit denen die Clients auf einen Event Hubs-Namespace verweisen, der einen Kafka-Endpunkt verfügbar macht. Sie erstellen und verwenden auch keinen Kafka-Cluster selbst. Sie verwenden stattdessen den Event Hubs-Namespace mit dem Kafka-Endpunkt.
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
Aktivieren Sie eine systemseitig zugewiesene verwaltete Identität für die VM. Weitere Informationen zum Konfigurieren einer verwalteten Identität auf einer VM finden Sie unter Konfigurieren von verwalteten Identitäten für Azure-Ressourcen auf einem virtuellen Computer über das Azure-Portal. Verwaltete Identitäten für Azure-Ressourcen stellen für Azure-Dienste eine automatisch verwaltete Identität in Microsoft Entra ID bereit. Sie können diese Identität für die Authentifizierung bei jedem Dienst verwenden, der die Microsoft Entra-Authentifizierung unterstützt. Hierfür müssen keine Anmeldeinformationen im Code enthalten sein.
Weisen Sie der verwalteten Identität der VM mithilfe der Seite Zugriffssteuerung des Event Hubs-Namespace, den Sie erstellt haben, die Rolle Azure Event Hubs-Datenbesitzer zu.
Azure Event Hubs unterstützt die Verwendung von Microsoft Entra ID zum Autorisieren von Anforderungen an Event Hubs-Ressourcen. Mit Microsoft Entra ID können Sie die rollenbasierte Zugriffssteuerung von Azure (Azure RBAC) zum Gewähren von Berechtigungen für einen Sicherheitsprinzipal verwenden, bei dem es sich um eine*n Benutzer*in oder einen Anwendungsdienstprinzipal handeln kann.
Navigieren Sie im Azure-Portal zu Ihrem Event Hubs-Namespace. Wechseln Sie im linken Bereich zu „Zugriffssteuerung (IAM)“.
Wählen Sie „+Hinzufügen“ und dann Add role assignment aus.
Wählen Sie auf der Registerkarte „Rolle“ Azure Event Hubs-Datenbesitzer aus, und wählen Sie die Schaltfläche Weiter aus.
Wählen Sie auf der Registerkarte Mitglieder die verwaltete Identität im Abschnitt Zugriff zuweisen aus.
Wählen Sie den Link +Mitglieder auswählen aus.
Führen Sie auf der Seite Verwaltete Identitäten auswählen die folgenden Schritte aus:
Wählen Sie das Azure-Abonnement aus, das über den virtuellen Computer verfügt.
Wählen Sie für die verwaltete Identität die Option Virtueller Computer aus.
Wählen Sie die verwaltete Identität Ihres virtuellen Computers aus.
Klicken Sie unten auf der Seite auf Auswählen.
Wählen Sie Überprüfen und zuweisen aus.
Starten Sie die VM neu und melden Sie sich wieder bei der VM an, für die Sie die verwaltete Identität konfiguriert haben.
Alle OAuth-Beispiele für Event Hubs für Kafka finden Sie hier.
Wechseln Sie zurück zum Ordner Consumer, in dem sich die Datei „pom.xml“ befindet, führen Sie den Consumercode aus, und verarbeiten Sie Ereignisse vom Event Hub mithilfe Ihrer Kafka-Clients:
Starten Sie ein weiteres Eingabeaufforderungsfenster, und navigieren Sie zu azure-event-hubs-for-kafka/tutorials/oauth/java/managedidentity/producer.
Wechseln Sie zum Ordner src/main/resources/, und öffnen Sie producer.config. Ersetzen Sie mynamespace durch den Namen Ihres Event Hubs-Namespace.
Wechseln Sie zurück zum Ordner Producer, in dem sich die Datei pom.xml befindet, führen Sie den Producercode aus, und streamen Sie Ereignisse in Event Hubs:
Sie sollten Nachrichten zu Ereignissen sehen, die ins Producerfenster gesendet wurden. Überprüfen Sie nun das Consumer-App-Fenster, um die Nachrichten anzuzeigen, die es vom Event Hub empfängt.
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:
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:
Wenn Ihr Kafka-Cluster in Event Hubs über Ereignisse verfügt, werden diese nun allmählich vom Consumer empfangen.
Schemaüberprüfung für Kafka mit der Schemaregistrierung
Sie können die Azure-Schemaregistrierung verwenden, um eine Schemaüberprüfung durchzuführen, wenn Sie Daten mit Ihren Kafka-Anwendungen mithilfe von Event Hubs streamen.
Die Azure-Schemaregistrierung für Event Hubs bietet ein zentrales Repository zum Verwalten von Schemas, und Sie können Ihre neuen oder vorhandenen Kafka-Anwendungen nahtlos mit der Schemaregistrierung verbinden.
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.
Zeigen Sie Ihre Kenntnisse von allgemeinen Datentechnikaufgaben zum Implementieren und Verwalten von Datentechnikworkloads in Microsoft Azure unter Verwendung verschiedener Azure-Dienste.