Recupere mensagens do Hermes com o gatilho de mensagem do Kafka em Workflow Studio e o consumidor de script.
Procedimento
-
Crie um tópico para consumir mensagens.
-
Use o seguinte comando 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> com o nome da sua instância.
-
Para exibir o tópico, faça login na instância e navegue até .
Nota: A criação de um tópico leva aproximadamente 10 minutos.
-
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, em seguida, insira Enviar.
Este exemplo usa o nome Topic1 Consumer.
-
Na seção de gatilho, selecione Adicionar um gatilhoe, em seguida, 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 de Mensagens para o campo Itens e selecione Concluído.
-
Na seção Ações do fluxo, navegue até .
-
Arraste a cápsula Dados de carga para o campo Mensagem e selecione Concluído.
-
Salve o gatilho de fluxo.
-
Acesse a tabela Configurações [sys_flow_execution_setting] para habilitar a emissão de relatórios para este fluxo.
-
Crie uma nova entrada e habilite a emissão de relatórios para o fluxo criado acima.
-
Navegue de volta para o 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 seguinte comando 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> com o nome da sua instância.
Este comando solicita mensagens. Adicione algumas mensagens de exemplo. Este exemplo usa as seguintes mensagens.
- Mensagem de teste 1
- Mensagem de teste 2
- Mensagem de teste 3
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 Topic1.
-
Defina o script para registrar a mensagem adicionando a seguinte lógica 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.
- Nomear fluxo do Topic1.
- Tópico para o tópico criado anteriormente, topic1.
- Máximo de simultaneidade 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.
-
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.