Partilhar via


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:

Criar um fluxo de eventos no Microsoft Fabric

  1. Mude sua experiência do Fabric para Inteligência em Tempo Real.

    Captura de tela mostrando o switcher para alternar para a carga de trabalho de inteligência em tempo real.

  2. Siga uma destas etapas para começar a criar um fluxo de eventos:

    • Na página inicial do Real-Time Intelligence, na seção Itens recomendados para criar, selecione o bloco Eventstream:

      Captura de ecrã a mostrar o mosaico eventstream na página inicial.

    • Selecione Meu espaço de trabalho na barra de navegação esquerda. Na página Meu Espaço de Trabalho, selecione Novo item e, em seguida, Fluxo de Eventos:

      Captura de tela mostrando onde encontrar a opção de fluxo de eventos no menu Novo na página Espaço de trabalho.

  3. Insira um nome para o novo fluxo de eventos e selecione Criar.

    Captura de tela mostrando a caixa de diálogo Novo fluxo de eventos.

  4. 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.

    Captura de tela mostrando o editor.

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:

  1. Na página inicial do fluxo de eventos, selecione Usar ponto de extremidade personalizado se for um fluxo de eventos vazio.

    Captura de tela que mostra a seleção da opção de usar um ponto de extremidade personalizado.

    Ou, na faixa de opções, selecione Adicionar ponto de extremidade personalizado de origem>.

    Captura de tela mostrando a seleção de um ponto de extremidade personalizado como fonte para um fluxo de eventos.

  2. Insira um valor Nome de origem para o ponto de extremidade personalizado e selecione Adicionar.

    Captura de ecrã a mostrar a introdução do nome do ponto de extremidade personalizado.

  3. Verifique se a origem do ponto de extremidade personalizado aparece na tela do fluxo de eventos no modo de edição e selecione Publicar.

    Captura de tela que mostra um ponto de extremidade personalizado adicionado no modo de edição.

  4. 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.

    Captura de tela que mostra as chaves Kafka e o código de exemplo.

    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:

  1. Clone o repositório de Hubs de Eventos do Azure para Kafka.

  2. Vá para azure-event-hubs-for-kafka/quickstart/java/producer.

  3. 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.

  4. 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 .

  5. Execute o código do produtor e transmita eventos para o fluxo de eventos:

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

    Captura de tela que mostra o código do produtor.

  6. 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.

    Captura de tela que mostra uma visualização de dados de Kafka.

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:

  1. Clone o repositório de Hubs de Eventos do Azure para Kafka.

  2. Vá para azure-event-hubs-for-kafka/quickstart/java/consumer.

  3. 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.

  4. 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 .

  5. 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.

Captura de tela que mostra os eventos de entrada de Kafka.

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.