Udostępnij za pośrednictwem


Szybki start: przesyłanie strumieniowe danych za pomocą usług Azure Event Hubs i Apache Kafka

W tym przewodniku Szybki start pokazano, jak przesyłać strumieniowo dane do i z usługi Azure Event Hubs przy użyciu protokołu Apache Kafka. Nie zmienisz żadnego kodu w przykładowych aplikacjach producenta ani konsumentów platformy Kafka. Wystarczy zaktualizować konfiguracje używane przez klientów do wskazywania przestrzeni nazw usługi Event Hubs, która uwidacznia punkt końcowy platformy Kafka. Nie kompilujesz również klastra platformy Kafka i nie używasz go samodzielnie. Zamiast tego należy użyć przestrzeni nazw usługi Event Hubs z punktem końcowym platformy Kafka.

Uwaga

Ten przykład jest dostępny w witrynie GitHub

Wymagania wstępne

Aby ukończyć ten przewodnik Szybki start, upewnij się, że dysponujesz następującymi elementami:

Tworzenie przestrzeni nazw usługi Azure Event Hubs

Podczas tworzenia przestrzeni nazw usługi Event Hubs punkt końcowy platformy Kafka dla przestrzeni nazw jest automatycznie włączony. Zdarzenia można przesyłać strumieniowo z aplikacji korzystających z protokołu Kafka do centrów zdarzeń. Postępuj zgodnie z instrukcjami krok po kroku w temacie Tworzenie centrum zdarzeń przy użyciu witryny Azure Portal , aby utworzyć przestrzeń nazw usługi Event Hubs. Jeśli używasz dedykowanego klastra, zobacz Tworzenie przestrzeni nazw i centrum zdarzeń w dedykowanym klastrze.

Uwaga

Usługa Event Hubs dla platformy Kafka nie jest obsługiwana w warstwie Podstawowa.

Wysyłanie i odbieranie komunikatów przy użyciu platformy Kafka w usłudze Event Hubs

  1. Włącz tożsamość zarządzaną przypisaną przez system dla maszyny wirtualnej. Aby uzyskać więcej informacji na temat konfigurowania tożsamości zarządzanej na maszynie wirtualnej, zobacz Konfigurowanie tożsamości zarządzanych dla zasobów platformy Azure na maszynie wirtualnej przy użyciu witryny Azure Portal. Tożsamości zarządzane dla zasobów platformy Azure udostępniają usługom platformy Azure automatycznie zarządzaną tożsamość w usłudze Microsoft Entra ID. Za pomocą tej tożsamości można uwierzytelnić się w dowolnej usłudze obsługującej uwierzytelnianie usługi Microsoft Entra bez konieczności przechowywania poświadczeń w kodzie.

    Zrzut ekranu przedstawiający kartę Tożsamość strony maszyny wirtualnej w witrynie Azure Portal.

  2. Korzystając ze strony Kontrola dostępu utworzonej przestrzeni nazw usługi Event Hubs, przypisz rolę właściciela danych usługi Azure Event Hubs do tożsamości zarządzanej maszyny wirtualnej. Usługa Azure Event Hubs obsługuje używanie identyfikatora Entra firmy Microsoft do autoryzowania żądań do zasobów usługi Event Hubs. Za pomocą identyfikatora Entra firmy Microsoft możesz użyć kontroli dostępu na podstawie ról (RBAC) platformy Azure, aby udzielić uprawnień jednostce zabezpieczeń, która może być użytkownikiem lub jednostką usługi aplikacji.

    1. W witrynie Azure Portal przejdź do przestrzeni nazw usługi Event Hubs. Przejdź do obszaru "Kontrola dostępu (IAM)" w obszarze nawigacji po lewej stronie.

    2. Wybierz pozycję + Dodaj i wybierz pozycję Add role assignment.

      Zrzut ekranu przedstawiający stronę Kontrola dostępu przestrzeni nazw usługi Event Hubs.

    3. Na karcie Rola wybierz pozycję Właściciel danych usługi Azure Event Hubs i wybierz przycisk Dalej .

      Zrzut ekranu przedstawiający wybór roli Właściciel danych usługi Azure Event Hubs.

    4. Na karcie Członkowie wybierz tożsamość zarządzaną w sekcji Przypisz dostęp do.

    5. Wybierz link +Wybierz członków.

    6. Na stronie Wybieranie tożsamości zarządzanych wykonaj następujące kroki:

      1. Wybierz subskrypcję platformy Azure, która ma maszynę wirtualną.

      2. W obszarze Tożsamość zarządzana wybierz pozycję Maszyna wirtualna

      3. Wybierz tożsamość zarządzaną maszyny wirtualnej.

      4. Wybierz pozycję Wybierz w dolnej części strony.

        Zrzut ekranu przedstawiający stronę Dodawanie przypisania roli —> wybieranie tożsamości zarządzanych.

    7. Wybierz pozycję Przejrzyj + przypisz.

      Zrzut ekranu przedstawiający stronę Dodawanie przypisania roli z przypisaną rolą do tożsamości zarządzanej maszyny wirtualnej.

  3. Uruchom ponownie maszynę wirtualną i zaloguj się z powrotem do maszyny wirtualnej, dla której skonfigurowano tożsamość zarządzaną.

  4. Sklonuj repozytorium usługi Azure Event Hubs dla platformy Kafka.

  5. Przejdź do azure-event-hubs-for-kafka/tutorials/oauth/java/managedidentity/consumer.

  6. Przejdź do src/main/resources/ folderu i otwórz plik consumer.config. Zastąp namespacename ciąg nazwą przestrzeni nazw usługi Event Hubs.

    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;
    

    Uwaga

    Wszystkie przykłady protokołu OAuth dla usługi Event Hubs dla platformy Kafka można znaleźć tutaj.

  7. Wróć do folderu Consumer , w którym znajduje się plik pom.xml, i uruchom kod odbiorcy i przetwarza zdarzenia z centrum zdarzeń przy użyciu klientów platformy Kafka:

    mvn clean package
    mvn exec:java -Dexec.mainClass="TestConsumer"                                    
    
  8. Uruchom kolejne okno wiersza polecenia i przejdź do azure-event-hubs-for-kafka/tutorials/oauth/java/managedidentity/producer.

  9. Przejdź do src/main/resources/ folderu i otwórz plik producer.config. Zastąp mynamespace ciąg nazwą przestrzeni nazw usługi Event Hubs.

  10. Wróć do folderu Producent , w którym pom.xml znajduje się plik i uruchom kod producenta i uruchom zdarzenia strumieniowe do usługi Event Hubs:

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

    W oknie producenta powinny zostać wyświetlone komunikaty dotyczące zdarzeń wysyłanych. Teraz sprawdź okno aplikacji odbiorcy, aby wyświetlić komunikaty odbierane z centrum zdarzeń.

    Zrzut ekranu przedstawiający okna aplikacji Producent i Odbiorca z zdarzeniami.

Weryfikacja schematu dla platformy Kafka z rejestrem schematów

Za pomocą usługi Azure Schema Registry można przeprowadzić walidację schematu podczas przesyłania strumieniowego danych za pomocą aplikacji platformy Kafka przy użyciu usługi Event Hubs. Rejestr schematów platformy Azure usługi Event Hubs udostępnia scentralizowane repozytorium do zarządzania schematami i można bezproblemowo połączyć nowe lub istniejące aplikacje platformy Kafka z rejestrem schematów.

Aby dowiedzieć się więcej, zobacz Weryfikowanie schematów dla aplikacji platformy Apache Kafka przy użyciu usługi Avro.

Następne kroki

W tym artykule przedstawiono sposób przesyłania strumieniowego do usługi Event Hubs bez zmieniania klientów protokołu ani uruchamiania własnych klastrów. Aby dowiedzieć się więcej, zobacz Przewodnik dla deweloperów platformy Apache Kafka dotyczący usługi Azure Event Hubs.