Tutorial: Transmitir e consumir eventos de e para a Inteligência em Tempo Real usando um ponto de extremidade Apache Kafka em um fluxo de eventos
Neste tutorial, você aprenderá a usar o ponto de extremidade Apache Kafka fornecido por uma fonte de ponto de extremidade personalizada nos recursos aprimorados dos fluxos de eventos do Microsoft Fabric para transmitir eventos para o Real-Time Intelligence. (Um ponto de extremidade personalizado é chamado de aplicativo personalizado nos recursos padrão dos fluxos de eventos do Fabric.) Você também aprende como consumir esses eventos de streaming usando o ponto de extremidade Apache Kafka do destino de ponto de extremidade personalizado de um fluxo de eventos.
Neste tutorial:
- Crie um fluxo de eventos.
- Obtenha o ponto de extremidade Kafka de uma fonte de ponto de extremidade personalizada.
- Envie eventos com um aplicativo Kafka.
- Obtenha o ponto de extremidade Kafka de um destino de ponto de extremidade personalizado.
- Consuma eventos com um aplicativo Kafka.
Pré-requisitos
- Obtenha acesso a um espaço de trabalho com permissões de Colaborador ou superiores onde seu fluxo de eventos está localizado.
- Obtenha uma máquina Windows e instale os seguintes componentes:
- Java Development Kit (JDK) 1.7+
- Um arquivo binário Maven (download e instalação)
- Git
Criar um fluxo de eventos no Microsoft Fabric
Mude sua experiência do Fabric para Inteligência em Tempo Real.
Siga uma destas etapas para começar a criar um fluxo de eventos:
Insira um nome para o novo fluxo de eventos e selecione Criar.
A criação do novo fluxo de eventos em seu espaço de trabalho pode levar alguns segundos. Depois que o fluxo de eventos é criado, você é direcionado para o editor principal, onde você pode começar com a adição de fontes ao fluxo de eventos.
Recuperar o ponto de extremidade Kafka de uma fonte de ponto de extremidade personalizada adicionada
Para obter um ponto de extremidade de tópico Kafka, adicione uma fonte de ponto de extremidade personalizada ao seu fluxo de eventos. O ponto de extremidade de conexão Kafka é então prontamente disponível e exposto dentro da fonte de ponto de extremidade personalizada.
Para adicionar uma fonte de ponto de extremidade personalizada ao seu fluxo de eventos:
Na página inicial do fluxo de eventos, selecione Usar ponto de extremidade personalizado se for um fluxo de eventos vazio.
Ou, na faixa de opções, selecione Adicionar ponto de extremidade personalizado de origem>.
Insira um valor Nome de origem para o ponto de extremidade personalizado e selecione Adicionar.
Verifique se a origem do ponto de extremidade personalizado aparece na tela do fluxo de eventos no modo de edição e selecione Publicar.
Depois de publicar com êxito o fluxo de eventos, você pode recuperar seus detalhes, incluindo informações sobre o ponto de extremidade Kafka. Selecione o bloco de origem do ponto de extremidade personalizado na tela. Em seguida, no painel inferior do nó de origem do ponto de extremidade personalizado, selecione a guia Kafka .
Na página Autenticação de chave SAS, você pode obter as seguintes informações importantes sobre o ponto de extremidade Kafka:
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}
é o valor do servidor Bootstrap na página Autenticação de Chave SAS.{YOUR.CONNECTION.STRING}
pode ser o valor da chave primária da cadeia de conexão ou o valor da chave secundária da cadeia de conexão. Escolha um para usar.Para obter mais informações sobre as páginas de código de exemplo e autenticação de chave SAS, consulte Detalhes do ponto de extremidade Kafka.
Enviar eventos com uma aplicação Kafka
Com as informações importantes do Kafka que você obteve na etapa anterior, você pode substituir as configurações de conexão em seu aplicativo Kafka existente. Em seguida, você pode enviar os eventos para o seu fluxo de eventos.
Aqui está um aplicativo baseado no SDK dos Hubs de Eventos do Azure escrito em Java seguindo o protocolo Kafka. Para usar este aplicativo para transmitir eventos para seu fluxo de eventos, use as seguintes etapas para substituir as informações do ponto de extremidade Kafka e executá-las corretamente:
Vá para azure-event-hubs-for-kafka/quickstart/java/producer.
Atualize os detalhes de configuração para o produtor em src/main/resources/producer.config da seguinte maneira:
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}";
Substitua
{YOUR.BOOTSTRAP.SERVER}
pelo valor do servidor Bootstrap. Substitua{YOUR.CONNECTION.STRING}
pelo valor da chave primária da cadeia de conexão ou pelo valor da chave secundária da cadeia de conexão. Escolha um para usar.Atualize o nome do tópico com o novo nome do tópico da
src/main/java/TestProducer.java
seguinte maneira:private final static String TOPIC = "{YOUR.TOPIC.NAME}";
.Você pode encontrar o
{YOUR.TOPIC.NAME}
valor na página Autenticação de chave SAS na guia Kafka .Execute o código do produtor e transmita eventos para o fluxo de eventos:
mvn clean package
mvn exec:java -Dexec.mainClass="TestProducer"
Visualize os dados que você enviou com este aplicativo Kafka. Selecione o nó do fluxo de eventos, que é o nó do meio que exibe o nome do fluxo de eventos.
Selecione o formato de dados CSV com vírgula delimitadora sem cabeçalho. Essa opção corresponde ao formato no qual o aplicativo transmitiu os dados do evento.
Obter o ponto de extremidade Kafka de um destino de ponto de extremidade personalizado adicionado
Você pode adicionar um destino de ponto de extremidade personalizado para obter os detalhes do ponto de extremidade de conexão Kafka para consumir eventos do seu fluxo de eventos. Depois de adicionar o destino, você pode obter as informações do painel Detalhes do destino na visualização dinâmica.
Na página Básico , você pode obter o valor do grupo Consumidor. Você precisa desse valor para configurar o aplicativo consumidor Kafka mais tarde.
Na página Autenticação de chave SAS, você pode obter as informações importantes do ponto de extremidade Kafka:
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}
é o valor do servidor Bootstrap. {YOUR.CONNECTION.STRING}
pode ser o valor da chave primária da cadeia de conexão ou o valor da chave secundária da cadeia de conexão. Escolha um para usar.
Consumir eventos com um aplicativo Kafka
Agora você pode usar outro aplicativo nos Hubs de Eventos do Azure para repositório Kafka para consumir os eventos do seu fluxo de eventos. Para usar este aplicativo para consumir eventos do seu fluxo de eventos, siga estas etapas para substituir os detalhes do ponto de extremidade Kafka e executá-lo adequadamente:
Vá para azure-event-hubs-for-kafka/quickstart/java/consumer.
Atualize os detalhes de configuração para o consumidor em src/main/resources/consumer.config da seguinte maneira:
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}";
Substitua
{YOUR.BOOTSTRAP.SERVER}
pelo valor do servidor Bootstrap. Você pode obter o{YOUR.EVENTHUBS.CONSUMER.GROUP}
valor da página Básico no painel Detalhes para o destino do ponto de extremidade personalizado. Substitua{YOUR.CONNECTION.STRING}
pelo valor da chave primária da cadeia de conexão ou pelo valor da chave secundária da cadeia de conexão. Escolha um para usar.Atualize o nome do tópico com o novo nome do tópico na página Autenticação de chave SAS em src/main/java/TestConsumer.java da seguinte maneira:
private final static String TOPIC = "{YOUR.TOPIC.NAME}";
.Você pode encontrar o
{YOUR.TOPIC.NAME}
valor na página Autenticação de chave SAS na guia Kafka .Execute o código do consumidor e transmita eventos para o fluxo de eventos:
mvn clean package
mvn exec:java -Dexec.mainClass="TestConsumer"
Se o fluxo de eventos tiver eventos de entrada (por exemplo, seu aplicativo produtor anterior ainda está em execução), verifique se o consumidor está recebendo eventos do tópico do fluxo de eventos.
Por defeito, os consumidores de Kafka leem a partir do fim do fluxo e não do início. Um consumidor Kafka não lê nenhum evento que esteja na fila antes de começar a executar o consumidor. Se você começar seu consumidor, mas ele não estiver recebendo nenhum evento, tente executar seu produtor novamente enquanto seu consumidor está pesquisando.
Conclusão
Parabéns! Você aprendeu como usar o ponto de extremidade Kafka exposto do seu fluxo de eventos para transmitir e consumir os eventos dentro do seu fluxo de eventos. Se você já tem um aplicativo que está enviando ou consumindo de um tópico do Kafka, você pode usar o mesmo aplicativo para enviar ou consumir os eventos dentro do seu fluxo de eventos sem nenhuma alteração de código. Basta alterar as informações de configuração da conexão.