Självstudie: Strömma och använda händelser till och från realtidsinformation med hjälp av en Apache Kafka-slutpunkt i en händelseström
I den här självstudien får du lära dig hur du använder Apache Kafka-slutpunkten som tillhandahålls av en anpassad slutpunktskälla i de förbättrade funktionerna i Microsoft Fabric-händelseströmmar för att strömma händelser till Realtidsinformation. (En anpassad slutpunkt kallas för en anpassad app i standardfunktionerna i Fabric-händelseströmmar.) Du får också lära dig hur du använder dessa strömmande händelser med hjälp av Apache Kafka-slutpunkten från en händelseströms anpassade slutpunktsmål.
I den här kursen får du:
- Skapa en händelseström.
- Hämta Kafka-slutpunkten från en anpassad slutpunktskälla.
- Skicka händelser med ett Kafka-program.
- Hämta Kafka-slutpunkten från ett anpassat slutpunktsmål.
- Använda händelser med ett Kafka-program.
Förutsättningar
- Få åtkomst till en arbetsyta med deltagare eller högre behörigheter där din eventstream finns.
- Hämta en Windows-dator och installera följande komponenter:
- Java Development Kit (JDK) 1.7+
- Ett binärt Maven-arkiv (ladda ned och installera)
- Git
Skapa en händelseström i Microsoft Fabric
Ändra din infrastrukturupplevelse till Realtidsinformation.
Följ något av dessa steg för att börja skapa en händelseström:
Ange ett namn för den nya händelseströmmen och välj sedan Skapa.
Det kan ta några sekunder att skapa den nya händelseströmmen på arbetsytan. När händelseströmmen har skapats dirigeras du till huvudredigeraren där du kan börja med att lägga till källor i händelseströmmen.
Hämta Kafka-slutpunkten från en anpassad slutpunktskälla som har lagts till
Om du vill hämta en Kafka-ämnesslutpunkt lägger du till en anpassad slutpunktskälla i din händelseström. Kafka-anslutningsslutpunkten är sedan lättillgänglig och exponerad i den anpassade slutpunktskällan.
Så här lägger du till en anpassad slutpunktskälla i din händelseström:
På startsidan för eventstream väljer du Använd anpassad slutpunkt om det är en tom händelseström.
I menyfliksområdet väljer du Lägg till anpassad källslutpunkt>.
Ange ett källnamnvärde för den anpassade slutpunkten och välj sedan Lägg till.
Kontrollera att den anpassade slutpunktskällan visas på eventstream-arbetsytan i redigeringsläge och välj sedan Publicera.
När du har publicerat händelseströmmen kan du hämta dess information, inklusive information om Kafka-slutpunkten. Välj panelen för den anpassade slutpunktens källa på arbetsytan. Välj sedan fliken Kafka i den nedre rutan i den anpassade slutpunktskällans nod.
På sidan SAS-nyckelautentisering kan du få följande viktiga Kafka-slutpunktsinformation:
bootstrap.servers={YOUR.BOOTSTRAP.SERVER}
security.protocol=SASL_SSL
sasl.mechanism=PLAIN
sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username="$ConnectionString" password="{YOUR.CONNECTION.STRING}";
{YOUR.BOOTSTRAP.SERVER}
är bootstrap-servervärdet på sidan SAS-nyckelautentisering.{YOUR.CONNECTION.STRING}
kan vara antingen värdet För anslutningssträngens primära nyckel eller värdet För anslutningssträngens sekundära nyckel . Välj en som ska användas.Mer information om SAS-nyckelautentisering och exempelkodsidor finns i Kafka-slutpunktsinformation.
Skicka händelser med ett Kafka-program
Med viktig Kafka-information som du fick från föregående steg kan du ersätta anslutningskonfigurationerna i ditt befintliga Kafka-program. Sedan kan du skicka händelserna till din händelseström.
Här är ett program baserat på Azure Event Hubs SDK som skrivits i Java genom att följa Kafka-protokollet. Om du vill använda det här programmet för att strömma händelser till din händelseström använder du följande steg för att ersätta Kafka-slutpunktsinformationen och köra den korrekt:
Gå till azure-event-hubs-for-kafka/quickstart/java/producer.
Uppdatera konfigurationsinformationen för producenten i src/main/resources/producer.config enligt följande:
bootstrap.servers={YOUR.BOOTSTRAP.SERVER}
security.protocol=SASL_SSL
sasl.mechanism=PLAIN
sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username="$ConnectionString" password="{YOUR.CONNECTION.STRING}";
Ersätt
{YOUR.BOOTSTRAP.SERVER}
med bootstrap-servervärdet . Ersätt{YOUR.CONNECTION.STRING}
med värdet För anslutningssträngens primära nyckel eller värdet För anslutningssträngens sekundära nyckel . Välj en som ska användas.Uppdatera ämnesnamnet med det nya ämnesnamnet enligt
src/main/java/TestProducer.java
följande:private final static String TOPIC = "{YOUR.TOPIC.NAME}";
.Du hittar värdet
{YOUR.TOPIC.NAME}
på sidan SAS-nyckelautentisering under fliken Kafka .Kör producentkoden och strömma händelser till händelseströmmen:
mvn clean package
mvn exec:java -Dexec.mainClass="TestProducer"
Förhandsgranska de data som du skickade med det här Kafka-programmet. Välj eventstream-noden, som är den mellannod som visar ditt eventstream-namn.
Välj csv-dataformatet med avgränsar kommatecken utan huvud. Det här valet matchar formatet där programmet strömmade händelsedata.
Hämta Kafka-slutpunkten från ett anpassat slutpunktsmål som har lagts till
Du kan lägga till ett anpassat slutpunktsmål för att hämta information om Kafka-anslutningsslutpunkten för att använda händelser från din händelseström. När du har lagt till målet kan du hämta informationen från målets informationsfönster i livevyn.
På sidan Grundläggande kan du hämta värdet konsumentgrupp . Du behöver det här värdet för att konfigurera Kafka-konsumentprogrammet senare.
På sidan SAS-nyckelautentisering kan du hämta viktig Kafka-slutpunktsinformation:
bootstrap.servers={YOUR.BOOTSTRAP.SERVER}
security.protocol=SASL_SSL
sasl.mechanism=PLAIN
sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username="$ConnectionString" password="{YOUR.CONNECTION.STRING}";
{YOUR.BOOTSTRAP.SERVER}
är bootstrap-servervärdet. {YOUR.CONNECTION.STRING}
kan vara antingen värdet För anslutningssträngens primära nyckel eller värdet För anslutningssträngens sekundära nyckel . Välj en som ska användas.
Använda händelser med ett Kafka-program
Nu kan du använda ett annat program på Azure Event Hubs for Kafka-lagringsplatsen för att använda händelserna från din händelseström. Om du vill använda det här programmet för att använda händelser från din händelseström följer du de här stegen för att ersätta Kafka-slutpunktsinformationen och kör den på rätt sätt:
Gå till azure-event-hubs-for-kafka/quickstart/java/consumer.
Uppdatera konfigurationsinformationen för konsumenten i src/main/resources/consumer.config enligt följande:
bootstrap.servers={YOUR.BOOTSTRAP.SERVER}
group.id={YOUR.EVENTHUBS.CONSUMER.GROUP}
security.protocol=SASL_SSL
sasl.mechanism=PLAIN
sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username="$ConnectionString"
password="{YOUR.CONNECTION.STRING}";
Ersätt
{YOUR.BOOTSTRAP.SERVER}
med bootstrap-servervärdet . Du kan hämta{YOUR.EVENTHUBS.CONSUMER.GROUP}
värdet från sidan Grundläggande i fönstret Information för det anpassade slutpunktsmålet. Ersätt{YOUR.CONNECTION.STRING}
med värdet För anslutningssträngens primära nyckel eller värdet För anslutningssträngens sekundära nyckel . Välj en som ska användas.Uppdatera ämnesnamnet med det nya ämnesnamnet på sidan SAS-nyckelautentisering i src/main/java/TestConsumer.java enligt följande:
private final static String TOPIC = "{YOUR.TOPIC.NAME}";
.Du hittar värdet
{YOUR.TOPIC.NAME}
på sidan SAS-nyckelautentisering under fliken Kafka .Kör konsumentkoden och strömma händelser till händelseströmmen:
mvn clean package
mvn exec:java -Dexec.mainClass="TestConsumer"
Om din händelseström har inkommande händelser (till exempel att ditt tidigare producentprogram fortfarande körs) kontrollerar du att konsumenten nu tar emot händelser från ditt eventstream-ämne.
Som standard läser Kafka-konsumenter från slutet av strömmen i stället för början. En Kafka-konsument läser inte några händelser som köas innan du börjar köra konsumenten. Om du startar din konsument men inte får några händelser kan du prova att köra din producent igen medan konsumenten avsöks.
Slutsats
Grattis! Du har lärt dig hur du använder Kafka-slutpunkten som exponeras från din händelseström för att strömma och använda händelserna i händelseströmmen. Om du redan har ett program som skickar eller förbrukar från ett Kafka-ämne kan du använda samma program för att skicka eller använda händelserna i händelseströmmen utan några kodändringar. Ändra bara anslutningens konfigurationsinformation.