Rychlý start: Streamování dat pomocí služby Azure Event Hubs a Apache Kafka

V tomto rychlém startu se dozvíte, jak streamovat data do a ze služby Azure Event Hubs pomocí protokolu Apache Kafka. V ukázkových aplikacích producenta nebo konzumenta Kafka nezměníte žádný kód. Stačí aktualizovat konfigurace, které klienti používají k nasměrování na obor názvů služby Event Hubs, který zveřejňuje koncový bod Kafka. Cluster Kafka také nevytáčíte a nepoužíváte sami. Místo toho použijete obor názvů služby Event Hubs s koncovým bodem Kafka.

Poznámka:

Tato ukázka je k dispozici na GitHubu.

Požadavky

Abyste mohli absolvovat tento rychlý start, ujistěte se, že máte následující:

Vytvoření oboru názvů služby Azure Event Hubs

Při vytváření oboru názvů služby Event Hubs se koncový bod Kafka pro obor názvů automaticky povolí. Události můžete streamovat z aplikací, které používají protokol Kafka do center událostí. Postupujte podle podrobných pokynů v centru událostí vytvoření centra událostí pomocí webu Azure Portal a vytvořte obor názvů služby Event Hubs. Pokud používáte vyhrazený cluster, přečtěte si téma Vytvoření oboru názvů a centra událostí ve vyhrazeném clusteru.

Poznámka:

Služba Event Hubs pro Kafka není na úrovni Basic podporovaná.

Odesílání a příjem zpráv pomocí Kafka ve službě Event Hubs

  1. Povolte spravovanou identitu přiřazenou systémem pro virtuální počítač. Další informace o konfiguraci spravované identity na virtuálním počítači najdete v tématu Konfigurace spravovaných identit pro prostředky Azure na virtuálním počítači pomocí webu Azure Portal. Spravované identity pro prostředky Azure poskytují službám Azure automaticky spravovanou identitu v Microsoft Entra ID. Tuto identitu můžete použít k ověření v jakékoli službě, která podporuje ověřování Microsoft Entra, aniž byste ve vašem kódu museli mít přihlašovací údaje.

    Screenshot of the Identity tab of a virtual machine page in the Azure portal.

  2. Na stránce řízení přístupu vytvořeného oboru názvů služby Event Hubs přiřaďte roli Vlastník dat služby Azure Event Hubs spravované identitě virtuálního počítače. Azure Event Hubs podporuje použití ID Microsoft Entra k autorizaci požadavků na prostředky služby Event Hubs. S ID Microsoft Entra můžete pomocí řízení přístupu na základě role v Azure (Azure RBAC) udělit oprávnění k objektu zabezpečení, což může být uživatel nebo instanční objekt aplikace.

    1. Na webu Azure Portal přejděte do svého oboru názvů služby Event Hubs. V levém navigačním panelu přejděte na Řízení přístupu (IAM).

    2. Vyberte + Přidat a vyberte Add role assignment.

      Screenshot of the Access Control page of an Event Hubs namespace.

    3. Na kartě Role vyberte vlastníka dat služby Azure Event Hubs a vyberte tlačítko Další .

      Screenshot showing the selection of the Azure Event Hubs Data Owner role.

    4. Na kartě Členové vyberte spravovanou identitu v části Přiřadit přístup.

    5. Vyberte odkaz +Vybrat členy.

    6. Na stránce Vybrat spravované identity postupujte takto:

      1. Vyberte předplatné Azure, které má virtuální počítač.

      2. Jako spravovanou identitu vyberte Virtuální počítač.

      3. Vyberte spravovanou identitu virtuálního počítače.

      4. V dolní části stránky vyberte Vybrat .

        Screenshot showing the Add role assignment -> Select managed identities page.

    7. Vyberte Zkontrolovat + přiřadit.

      Screenshot showing the Add role assignment page with role assigned to VM's managed identity.

  3. Restartujte virtuální počítač a přihlaste se zpět k virtuálnímu počítači, pro který jste nakonfigurovali spravovanou identitu.

  4. Naklonujte úložiště Azure Event Hubs pro ekosystém Kafka.

  5. Přejděte na azure-event-hubs-for-kafka/tutorials/oauth/java/managedidentity/consumer.

  6. Přepněte do src/main/resources/ složky a otevřete consumer.config. Nahraďte namespacename názvem oboru názvů služby 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;
    

    Poznámka:

    Všechny ukázky OAuth pro službu Event Hubs pro Kafka najdete tady.

  7. Přepněte zpět do složky Příjemce , kde je soubor pom.xml, a spusťte kód příjemce a zpracovávat události z centra událostí pomocí klientů Kafka:

    mvn clean package
    mvn exec:java -Dexec.mainClass="TestConsumer"                                    
    
  8. Spusťte další okno příkazového řádku a přejděte na azure-event-hubs-for-kafka/tutorials/oauth/java/managedidentity/producerpříkaz .

  9. Přepněte do src/main/resources/ složky a otevřete producer.config. Nahraďte mynamespace názvem oboru názvů služby Event Hubs.

  10. Přepněte zpět do složky Producer , kde pom.xml je soubor, a spusťte kód producenta a streamujte události do služby Event Hubs:

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

    Měly by se zobrazit zprávy o událostech odeslaných v okně producenta. Teď zkontrolujte okno aplikace příjemce a podívejte se na zprávy, které přijímá z centra událostí.

    Screenshot showing the Producer and Consumer app windows showing the events.

Ověřování schématu pro Kafka s registrem schématu

Službu Azure Schema Registry můžete použít k ověření schématu při streamování dat pomocí aplikací Kafka pomocí služby Event Hubs. Azure Schema Registry služby Event Hubs poskytuje centralizované úložiště pro správu schémat a můžete bez problémů připojit nové nebo existující aplikace Kafka s registrem schémat.

Další informace najdete v tématu Ověřování schémat pro aplikace Apache Kafka pomocí Avro.

Další kroky

V tomto článku jste zjistili, jak streamovat do služby Event Hubs beze změny klientů protokolu nebo spouštění vlastních clusterů. Další informace najdete v příručce pro vývojáře Apache Kafka pro Azure Event Hubs.