Recupere mensagens da Hermes com o gatilho de mensagem do Kafka em Flow Designer e o consumidor de script.
Procedimento
-
Crie um tópico para consumir mensagens.
-
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.
-
Para exibir o tópico, faça login na instância e navegue até .
Nota: Demora aproximadamente 10 minutos para criar um tópico.
-
Crie um gatilho de fluxo para consumir mensagens do tópico.
-
Navegar até .
-
Selecionar .
-
No formulário Propriedades de fluxo, insira um nome para o fluxo e insira Enviar.
Este exemplo usa o nome Consumidor do tópico1.
-
Na seção do gatilho, selecione Adicionar um gatilhoe selecione Mensagem do Kafka como o tipo de gatilho.
-
Selecione o tópico Topic1.
Você pode usar o ícone de lupa para ver a lista de tópicos disponíveis.
-
Na seção Ações do fluxo, navegue até .
-
Arraste a cápsula de dados Mensagens para o campo Itens e selecione Concluído.
-
Na seção Ações do fluxo, navegue até .
-
Arraste a cápsula de dados da carga para o campo Mensagem e selecione Concluído.
-
Salve o gatilho de fluxo.
-
Vá para a tabela Configurações [sys_flow_execution_setting] para habilitar a geração de relatórios para este fluxo.
-
Crie uma nova entrada e habilite a geração de relatórios para o fluxo criado acima.
-
Navegue de volta ao seu fluxo e selecione Ativar.
-
Para exibir sua assinatura de tópico, navegue até .
-
Publique mensagens no tópico usando a ferramenta de linha de comando Kafka.
-
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.
-
Navegue de volta para o fluxo e selecione Execuções.
-
Abra a execução do fluxo.
-
Para exibir as estatísticas desta assinatura, navegue até , abra a assinatura e vá para a exibição de estatísticas.
-
Crie um consumidor de script para consumir mensagens do tópico.
-
Navegar até .
-
Selecione "Novo".
-
No campo Nome, insira um nome para o consumidor de script.
Este exemplo usa o Consumidor do tópico1.
-
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));
}
-
Salve o formulário.
-
Na seção Links relacionados, selecione Novo para adicionar um fluxo do Kafka para consumir as mensagens.
-
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.
-
Selecione o link Ativar em Links relacionados.
Você deve conseguir ver a assinatura ativada.
-
Para exibir as mensagens, navegue até e filtrar mensagens que começam com Mensagem recebida.
-
Você deve ver todas as mensagens após 1 minuto.