Use o gatilho de mensagem do Kafka e o consumidor de script para consumir mensagens

  • Versão de lançamento: Washingtondc
  • Atualizado 1 de fev. de 2024
  • 3 min. de leitura
  • Recupere mensagens da Hermes com o gatilho de mensagem do Kafka em Flow Designer e o consumidor de script.

    Antes de Iniciar

    Procedimento

    1. Crie um tópico para consumir mensagens.
      1. Use o comando a seguir para criar um tópico no Hermes.
        bin/kafka-topics.sh --create --command-config config/bootcamp.properties  --bootstrap-server <instance name>.service-now.com:4000,<instance name>.service-now.com:4001,<instance name>.service-now.com:4002, <instance name>.service-now.com:4003 --topic snc.<instance name>.topic1
        Certifique-se de substituir<instance name> pelo nome da sua instância.
      2. Para exibir o tópico, faça login na instância e navegue até Todos > IntegrationHub > Conexão de fluxo > Tópicos.
        Nota:
        Demora aproximadamente 10 minutos para criar um tópico.
    2. Crie um gatilho de fluxo para consumir mensagens do tópico.
      1. Navegar até Todos > Automação de Processo > Flow Designer.
      2. Selecionar Criar novo > Fluxo.
      3. No formulário Propriedades de fluxo, insira um nome para o fluxo e insira Enviar.
        Este exemplo usa o nome Consumidor do tópico1.
      4. Na seção do gatilho, selecione Adicionar um gatilhoe selecione Mensagem do Kafka como o tipo de gatilho.
        Mensagem do Kafka é o tipo de gatilho do fluxo.
      5. Selecione o tópico Topic1.
        Selecione topic1 para o campo Tópico.

        Você pode usar o ícone de lupa para ver a lista de tópicos disponíveis.

      6. Na seção Ações do fluxo, navegue até Adicionar uma Ação, Lógica de Fluxo ou Subfluxo > Lógica de fluxo > For Each.
      7. Arraste a cápsula de dados Mensagens para o campo Itens e selecione Concluído.
      8. Na seção Ações do fluxo, navegue até Adicionar uma Ação, Lógica de Fluxo ou Subfluxo > Ação > ServiceNow Core > Log.
      9. Arraste a cápsula de dados da carga para o campo Mensagem e selecione Concluído.
      10. Salve o gatilho de fluxo.
      11. Vá para a tabela Configurações [sys_flow_execution_setting] para habilitar a geração de relatórios para este fluxo.
      12. Crie uma nova entrada e habilite a geração de relatórios para o fluxo criado acima.
        Criando um novo registro de configuração para habilitar a geração de relatórios para o fluxo.
      13. Navegue de volta ao seu fluxo e selecione Ativar.
      14. Para exibir sua assinatura de tópico, navegue até Todos > Hub de integração > Conexão de fluxo > Assinaturas.
        A assinatura do tópico topic1.
    3. Publique mensagens no tópico usando a ferramenta de linha de comando Kafka.
      1. Execute o comando a seguir para publicar mensagens no tópico.
        bin/kafka-console-producer.sh --topic snc.<instance name>.topic1  --producer.config  config/bootcamp.properties  --bootstrap-server <instance name>.service-now.com:4000,<instance name>.service-now.com:4001,<instance name>.service-now.com:4002,<instance name>.service-now.com:4003

        Certifique-se de substituir<instance name> pelo nome da sua instância.

        Este comando solicita mensagens. Adicione algumas mensagens de exemplo. Este exemplo usa as seguintes mensagens.
        • Testar mensagem1
        • Testar mensagem2
        • Testar mensagem3
        Você deve receber as mensagens em cerca de um minuto.
      2. Navegue de volta para o fluxo e selecione Execuções.
        Selecione Execuções para navegar até a exibição de execução de fluxo.
      3. Abra a execução do fluxo.
        Detalhes de execução do fluxo.
      4. Para exibir as estatísticas desta assinatura, navegue até Todos > Hub de integração > Conexão de fluxo > Assinaturas, abra a assinatura e vá para a exibição de estatísticas.
        As estatísticas do Kafka para a assinatura.
    4. Crie um consumidor de script para consumir mensagens do tópico.
      1. Navegar até IntegrationHub > Consumidores > Consumidores de script.
      2. Selecione "Novo".
      3. No campo Nome, insira um nome para o consumidor de script.
        Este exemplo usa o Consumidor do tópico1.
      4. Defina o script para registrar a mensagem adicionando a lógica a seguir na caixa de script.
        for (var i = 0; i < messages.length; i++) {
              gs.info('Received message ' + JSON.stringify(messages[i].message));
         }
        
        Consumidor de script do Kafka mostrando o script no campo Consumidor de evento.
      5. Salve o formulário.
      6. Na seção Links relacionados, selecione Novo para adicionar um fluxo do Kafka para consumir as mensagens.
      7. No formulário Fluxo do Kafka, defina os seguintes valores de campo.
        • Nome para fluxo do tópico1.
        • Tópico para o tópico criado anteriormente, tópico1.
        • Simultaneidade máxima para 1.
        • Comece a consumirtodas as mensagens armazenadas no tópico. Esta opção permite que você leia as mensagens já publicadas neste tópico.
        • Manipulação de mensagens para otimizar automaticamente.
        O registro de fluxo do Kafka.
      8. Selecione o link Ativar em Links relacionados.
        Você deve conseguir ver a assinatura ativada.
      9. Para exibir as mensagens, navegue até Todos > Logs do sistema > Log do sistema e filtrar mensagens que começam com Mensagem recebida.
        Lista das mensagens recebidas.
      10. Você deve ver todas as mensagens após 1 minuto.

    O que Fazer Depois

    Use os consumidores de ETL e mapa de transformação para importar dados.