Recupere mensagens do Hermes com o gatilho Mensagem do Kafka em Workflow Studio E o consumidor 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
Substitua
<instance name> com o nome da sua instância.
-
Para exibir o tópico, faça login na instância e navegue até .
Nota: Leva 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 Topic1 consumidor .
-
Na seção do gatilho, selecione Adicione um gatilho e 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 Mensagens cápsula de dados para Itens e selecione Concluído .
-
Na seção Ações do fluxo, navegue até .
-
Arraste Carga cápsula de dados para Mensagem e selecione Concluído .
-
Salvar o gatilho de fluxo.
-
Vá para 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 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
Substitua <instance name> com o nome da sua instância.
Este comando solicita mensagens. Adicione algumas mensagens de amostra. 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.
-
Em Nome , insira um nome para o consumidor de script.
Este exemplo usa Topic1 consumidor .
-
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 Kafka para consumir as mensagens.
-
No formulário Fluxo do Kafka, defina os seguintes valores de campo.
- Nome . Fluxo de Topic1 .
- Tópico para o tópico criado anteriormente, tópico 1.
- Simultaneidade máxima . 1 .
- Comece a consumir . Todas as mensagens armazenadas no tópico . Esta opção permite que você leia as mensagens já publicadas neste tópico.
- Tratamento de mensagens . Otimizar automaticamente .
-
Selecione Ativar Link em Links relacionados.
Você deve ser capaz de ver a assinatura ativada.
-
Para exibir as mensagens, navegue até E filtram mensagens que começam com a mensagem recebida.
-
Todas as mensagens devem ser exibidas após 1 minuto.