Quickstart: Streamen naar Event Hubs met behulp van API's en het Kafka-protocol

Deze snelstart laat zien hoe u kunt streamen naar Event Hubs zonder uw protocolclients te wijzigen of uw eigen clusters uit te voeren. U leert hoe u uw producenten kunt gebruiken en consumenten met Event Hubs, kunnen praten met slechts een configuratiewijziging in uw toepassingen.

Notitie

Dit voorbeeld is beschikbaar op GitHub

Vereisten

Zorg ervoor dat u aan de volgende vereisten voldoet om deze snelstart uit te voeren:

Een Event Hubs-naamruimte maken

Wanneer u een Event Hubs maakt, wordt het Kafka-eindpunt voor de naamruimte automatisch ingeschakeld. U kunt gebeurtenissen streamen van uw toepassingen die gebruikmaken van het Kafka-protocol naar Event Hubs. Volg stapsgewijs instructies in Event Hub maken met behulp van Azure Portal om een Event Hubs maken. Zie Een naamruimte en Event Hub maken in een toegewezen cluster als u een toegewezen cluster gebruikt.

Notitie

Event Hubs voor Kafka wordt niet ondersteund in de basic-laag.

Berichten verzenden en ontvangen met Kafka in Event Hubs

  1. Kloon de Azure Event Hubs for Kafka-opslagplaats.

  2. Navigeer naar azure-event-hubs-for-kafka/quickstart/java/producer.

  3. Werk de configuratiegegevens voor de producent in src/main/resources/producer.config als volgt bij:

    TLS/SSL:

    bootstrap.servers=NAMESPACENAME.servicebus.windows.net:9093
    security.protocol=SASL_SSL
    sasl.mechanism=PLAIN
    sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username="$ConnectionString" password="{YOUR.EVENTHUBS.CONNECTION.STRING}";
    

    Belangrijk

    Vervang {YOUR.EVENTHUBS.CONNECTION.STRING} door de verbindingsreeks voor uw Event Hubs-naamruimte. Zie Een verbindingsreeks voor Event Hubs ophalen voor instructies voor het ophalen van de verbindingsreeks. Hier volgt een voorbeeldconfiguratie: sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username="$ConnectionString" password="Endpoint=sb://mynamespace.servicebus.windows.net/;SharedAccessKeyName=RootManageSharedAccessKey;SharedAccessKey=XXXXXXXXXXXXXXXX";

    OAuth:

    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;
    

    U vindt de broncode voor de voorbeeld-handlerklasse CustomAuthenticateCallbackHandler in GitHub hier.

  4. Voer de producentcode uit en stream gebeurtenissen naar Event Hubs:

    mvn clean package
    mvn exec:java -Dexec.mainClass="TestProducer"                                    
    
  5. Navigeer naar azure-event-hubs-for-kafka/quickstart/java/consumer.

  6. Werk de configuratiegegevens voor de consument in src/main/resources/consumer.config als volgt bij:

    TLS/SSL:

    bootstrap.servers=NAMESPACENAME.servicebus.windows.net:9093
    security.protocol=SASL_SSL
    sasl.mechanism=PLAIN
    sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username="$ConnectionString" password="{YOUR.EVENTHUBS.CONNECTION.STRING}";
    

    Belangrijk

    Vervang {YOUR.EVENTHUBS.CONNECTION.STRING} door de verbindingsreeks voor uw Event Hubs-naamruimte. Zie Een verbindingsreeks voor Event Hubs ophalen voor instructies voor het ophalen van de verbindingsreeks. Hier volgt een voorbeeldconfiguratie: sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username="$ConnectionString" password="Endpoint=sb://mynamespace.servicebus.windows.net/;SharedAccessKeyName=RootManageSharedAccessKey;SharedAccessKey=XXXXXXXXXXXXXXXX";

    OAuth:

    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;
    

    U vindt de broncode voor de voorbeeld-handlerklasse CustomAuthenticateCallbackHandler in GitHub hier.

    U vindt alle OAuth-voorbeelden voor Event Hubs voor Kafka hier.

  7. Voer de consumentcode en verwerk gebeurtenissen vanuit Event Hubs met behulp van uw Kafka-clients:

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

Als uw Event Hubs Kafka-cluster gebeurtenissen heeft, moet u deze nu ontvangen van de consument.

Volgende stappen

In dit artikel hebt u geleerd u hoe u kunt streamen naar Event Hubs zonder uw protocolclients te wijzigen of uw eigen clusters uit te voeren. Zie Ontwikkelaarshandleiding van Apache Kafka voor Azure Event Hubs voor meer informatie.