Inicio rápido: Streaming de datos con Event Hubs mediante el protocolo de Kafka
En esta guía de inicio rápido se muestra cómo transmitir a instancias de Event Hubs sin cambiar los clientes del protocolo o ejecutar sus propios clústeres. Aprenderá a usar los productores y los consumidores para hablar con instancias de Event Hubs solo con un cambio de configuración en las aplicaciones.
Nota
Este ejemplo está disponible en GitHub.
Prerrequisitos
Para completar esta guía de inicio rápido, asegúrese de cumplir los siguientes requisitos previos:
- Lea el artículo Event Hubs para Apache Kafka.
- Suscripción a Azure. Si no tiene una, cree una cuenta gratuita antes de empezar.
- Kit de desarrollo de Java (JDK) 1.7+.
- Descargue e instale un archivo binario de Maven.
- Git
Creación de un espacio de nombres de Event Hubs
Al crear un espacio de nombres de Event Hubs, se habilita automáticamente el punto de conexión de Kafka para el espacio de nombres. Puede transmitir eventos a Event Hubs desde las aplicaciones que usan el protocolo de Kafka. Siga las instrucciones paso a paso de Creación de un centro de eventos mediante Azure Portal para crear un espacio de nombres de Event Hubs. Si usa un clúster dedicado, consulte Creación de un espacio de nombres y un centro de eventos en un clúster dedicado.
Nota
Event Hubs para Kafka no se admite en el nivel Básico.
Envío y recepción de mensajes con Kafka en Event Hubs
Vaya a
azure-event-hubs-for-kafka/quickstart/java/producer.Actualice los detalles de configuración para el productor en
src/main/resources/producer.configde la siguiente manera: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}";Importante
Reemplace
{YOUR.EVENTHUBS.CONNECTION.STRING}por la cadena de conexión para el espacio de nombres de Event Hubs. Para obtener instrucciones sobre cómo obtener la cadena de conexión, consulte Obtención de una cadena de conexión de Event Hubs. A continuación se muestra un ejemplo de configuración: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;Aquí puede encontrar el código fuente de la clase de controlador de ejemplo CustomAuthenticateCallbackHandler en GitHub.
Ejecute el código del productor y transmita los eventos a Event Hubs:
mvn clean package mvn exec:java -Dexec.mainClass="TestProducer"Vaya a
azure-event-hubs-for-kafka/quickstart/java/consumer.Actualice los detalles de configuración para el consumidor en
src/main/resources/consumer.configde la siguiente manera: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}";Importante
Reemplace
{YOUR.EVENTHUBS.CONNECTION.STRING}por la cadena de conexión para el espacio de nombres de Event Hubs. Para obtener instrucciones sobre cómo obtener la cadena de conexión, consulte Obtención de una cadena de conexión de Event Hubs. A continuación se muestra un ejemplo de configuración: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;Aquí puede encontrar el código fuente de la clase de controlador de ejemplo CustomAuthenticateCallbackHandler en GitHub.
Puede encontrar todos los ejemplos de OAuth de Event Hubs para Kafka aquí.
Ejecute el código de consumidor y procese eventos desde el centro de eventos mediante los clientes de Kafka:
mvn clean package mvn exec:java -Dexec.mainClass="TestConsumer"
Si el clúster de Kafka de Event Hubs tiene eventos, ahora comenzará a recibirlos desde el consumidor.
Pasos siguientes
En este artículo se muestra cómo hacer streaming a instancias de Event Hubs sin cambiar los clientes del protocolo o ejecutar sus propios clústeres. Para más información, consulte Guía del desarrollador de Apache Kafka para Azure Event Hubs.