Récupérez les messages d’Hermes avec le déclencheur Studio de workflow de message Kafka et le consommateur de script.
Procédure
-
Créez une rubrique pour utiliser des messages.
-
Utilisez la commande suivante pour créer une rubrique dans 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
Assurez-vous de remplacer
<nom d’instance> par le nom de votre instance.
-
Pour afficher la rubrique, connectez-vous à l’instance et accédez à .
Remarque : La création d’une rubrique prend environ 10 minutes.
-
Créez un déclencheur de flux pour utiliser les messages de la rubrique.
-
Accédez à la .
-
Sélectionner .
-
Dans le formulaire Propriétés du flux, saisissez un nom pour votre flux, puis entrez Soumettre.
Cet exemple utilise le nom Consommateur de rubrique 1.
-
Dans la section Déclencheur, sélectionnez Ajouter un déclencheur, puis sélectionnez Message Kafka comme type de déclencheur.
-
Sélectionnez la rubrique 1.
Vous pouvez utiliser l’icône de loupe pour afficher la liste des rubriques disponibles.
-
Dans la section Actions du flux, accédez à .
-
Faites glisser la pastille de données Messages vers le champ Éléments , puis sélectionnez Terminé.
-
Dans la section Actions du flux, accédez à .
-
Faites glisser la pastille de données de charge utile vers le champ Message , puis sélectionnez Terminé.
-
Enregistrez le déclencheur de flux.
-
Accédez à la table Paramètres [sys_flow_execution_setting] pour activer la génération de rapports pour ce flux.
-
Créez une nouvelle entrée et activez la génération de rapports sur le flux créé ci-dessus.
-
Revenez à votre flux et sélectionnez Activer.
-
Pour afficher votre abonnement à la rubrique, accédez à .
-
Publiez des messages dans la rubrique à l’aide de l’outil de ligne de commande Kafka.
-
Exécutez la commande suivante pour publier des messages dans la rubrique.
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
Assurez-vous de remplacer <nom d’instance> par le nom de votre instance.
Cette commande vous invite à entrer des messages. Ajoutez quelques exemples de messages. Cet exemple utilise les messages suivants.
- Message de test 1
- Message de test 2
- Message de test 3
Vous devriez recevoir les messages dans environ une minute.
-
Revenez au flux et sélectionnez Exécutions.
-
Ouvrez l’exécution du flux.
-
Pour afficher les statistiques de cet abonnement, accédez à , ouvrez l’abonnement et accédez à la vue des statistiques.
-
Créez un consommateur de script pour utiliser les messages de la rubrique.
-
Accédez à la .
-
Sélectionnez Nouveau.
-
Dans le champ Nom , saisissez un nom pour votre consommateur de script.
Cet exemple utilise Consommateur de rubrique 1.
-
Définissez le script pour consigner le message en ajoutant la logique suivante dans la zone de script.
for (var i = 0; i < messages.length; i++) {
gs.info('Received message ' + JSON.stringify(messages[i].message));
}
-
Enregistrez le formulaire.
-
Dans la section Liens connexes, sélectionnez Nouveau pour ajouter un flux Kafka afin de consommer les messages.
-
Sur le formulaire Flux Kafka, définissez les valeurs de champ suivantes.
- Nom vers le flux de rubrique 1.
- Rubrique de la rubrique créée précédemment, rubrique1.
- Concurrence max. à 1.
- Commencez à consommer pour Tous les messages stockés dans la rubrique. Cette option vous permet de lire les messages déjà publiés dans cette rubrique.
- Gestion des messages à optimiser automatiquement.
-
Sélectionnez le lien Activer sous Liens connexes.
Vous devriez pouvoir voir l’abonnement activé.
-
Pour afficher les messages, accédez à et filtrer les messages commençant par le message reçu.
-
Vous devriez voir tous les messages après 1 minute.