Snabbstart: Strömma data med Azure Event Hubs och Apache Kafka
Den här snabbstarten visar hur du strömmar data till och från Azure Event Hubs med hjälp av Apache Kafka-protokollet. Du ändrar ingen kod i Kafka-exempelproducenten eller konsumentappar. Du uppdaterar bara de konfigurationer som klienterna använder för att peka på ett Event Hubs-namnområde, som exponerar en Kafka-slutpunkt. Du skapar och använder inte heller ett Kafka-kluster på egen hand. I stället använder du Event Hubs-namnområdet med Kafka-slutpunkten.
Kommentar
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.
- Skapa en virtuell Windows-dator och installera följande komponenter:
- Java Development Kit (JDK) 1.7+.
- Ladda ned och installera ett Maven-binärarkiv.
- Git
Skapa en Event Hubs-namnrymd
När du skapar ett Event Hubs-namnområde aktiveras Kafka-slutpunkten för namnområdet automatiskt. Du kan strömma händelser från dina program som använder Kafka-protokollet till händelsehubbar. Följ stegvisa instruktioner i Skapa en händelsehubb med Hjälp av Azure-portalen för att skapa ett Event Hubs-namnområde. Om du använder ett dedikerat kluster kan du läsa Skapa ett namnområde och en händelsehubb i ett dedikerat kluster.
Kommentar
Event Hubs för Kafka stöds inte på den grundläggande nivån.
Skicka och ta emot meddelanden med Kafka i Event Hubs
Aktivera en systemtilldelad hanterad identitet för den virtuella datorn. Mer information om hur du konfigurerar hanterad identitet på en virtuell dator finns i Konfigurera hanterade identiteter för Azure-resurser på en virtuell dator med hjälp av Azure-portalen. Hanterade identiteter för Azure-resurser ger Azure-tjänster en automatiskt hanterad identitet i Microsoft Entra ID. Du kan använda den här identiteten för att autentisera mot alla tjänster som har stöd för Microsoft Entra-autentisering, utan att behöva ha några autentiseringsuppgifter i koden.
Använd sidan Åtkomstkontroll i event hubs-namnområdet som du skapade och tilldela rollen Azure Event Hubs-dataägare till den virtuella datorns hanterade identitet. Azure Event Hubs stöder användning av Microsoft Entra-ID för att auktorisera begäranden till Event Hubs-resurser. Med Microsoft Entra-ID kan du använda rollbaserad åtkomstkontroll i Azure (Azure RBAC) för att bevilja behörigheter till ett säkerhetsobjekt, som kan vara en användare eller ett huvudnamn för programtjänsten.
Gå till Event Hubs-namnområdet i Azure-portalen. Gå till "Åtkomstkontroll (IAM)" i det vänstra navigeringsfältet.
Välj + Lägg till och välj
Add role assignment
.På fliken Roll väljer du Azure Event Hubs DataÄgare och väljer knappen Nästa .
På fliken Medlemmar väljer du Den hanterade identiteten i avsnittet Tilldela åtkomst till .
Välj länken +Välj medlemmar.
Följ dessa steg på sidan Välj hanterade identiteter :
Välj den Azure-prenumeration som har den virtuella datorn.
För Hanterad identitet väljer du Virtuell dator
Välj den virtuella datorns hanterade identitet.
Välj Välj längst ned på sidan.
Välj Granska + tilldela.
Starta om den virtuella datorn och logga in på den virtuella dator som du konfigurerade den hanterade identiteten för.
Navigera till
azure-event-hubs-for-kafka/tutorials/oauth/java/managedidentity/consumer
.Växla till
src/main/resources/
mappen och öppnaconsumer.config
. Ersättnamespacename
med namnet på Event Hubs-namnområdet.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;
Kommentar
Du hittar alla OAuth-exempel för Event Hubs för Kafka här.
Växla tillbaka till mappen Konsument där pom.xml filen finns och kör konsumentkoden och bearbeta händelser från händelsehubben med dina Kafka-klienter:
mvn clean package mvn exec:java -Dexec.mainClass="TestConsumer"
Starta ett annat kommandotolkfönster och gå till
azure-event-hubs-for-kafka/tutorials/oauth/java/managedidentity/producer
.Växla till
src/main/resources/
mappen och öppnaproducer.config
. Ersättmynamespace
med namnet på Event Hubs-namnområdet.Växla tillbaka till mappen Producent där
pom.xml
filen finns och kör producentkoden och strömma händelser till Event Hubs:mvn clean package mvn exec:java -Dexec.mainClass="TestProducer"
Du bör se meddelanden om händelser som skickas i producentfönstret. Kontrollera nu fönstret för konsumentappen för att se de meddelanden som den tar emot från händelsehubben.
Schemavalidering för Kafka med Schema Registry
Du kan använda Azure Schema Registry för att utföra schemavalidering när du strömmar data med dina Kafka-program med hjälp av Event Hubs. Azure Schema Registry of Event Hubs tillhandahåller en centraliserad lagringsplats för att hantera scheman och du kan smidigt ansluta dina nya eller befintliga Kafka-program till Schema Registry.
Mer information finns i Verifiera scheman för Apache Kafka-program med Hjälp av Avro.
Nästa steg
I den här artikeln har du lärt dig att strömma till Event Hubs utan att ändra dina protokollklienter eller köra egna kluster. Mer information finns i Apache Kafka-utvecklarguiden för Azure Event Hubs.