Créer une classe de messages source

Ce guide explique comment créer une classe de messages source pour Manufacturing Data Engine (MDE).

Modélisation de la classe de messages source

Les classes de messages source doivent être définies pour capturer un ensemble de messages source qui partagent une structure commune.

Plus vous concevez vos classes de messages source de manière spécifique, moins vous avez besoin d'écrire d'instructions conditionnelles dans vos scripts Whistle pour gérer les différences de schéma entre différents messages source. Toutefois, la création de classes de messages source plus spécifiques nécessite davantage d'analyseurs.

Par conséquent, la modélisation des classes de messages source implique de trouver le juste équilibre entre, d'une part, des classes de messages source avec des schémas de messages uniformes et, d'autre part, le nombre d'analyseurs que vous devez gérer.

Création d'une classe de messages source

Cette section décrit le processus de création d'une classe de messages source à l'aide d'appels d'API ou de l'interface de la console.

REST

POST /configuration/v1/message-classes

{
  "name": "MESSAGE_CLASS_NAME",
  "MESSAGE_CLASS_NAME": "PRIORITY",
  "expression": "SPEL_EXPRESSION"
}

Remplacez les éléments suivants :

  • MESSAGE_CLASS_NAME : nom de la classe de messages à créer.
  • PRIORITY : priorité de la classe de messages. La priorité d'une classe de messages est un entier compris entre 0 et 65 535 inclus. Des entiers plus petits indiquent des priorités plus élevées.
  • SPEL_EXPRESSION : expression SpEL définissant la classe de messages. Par exemple #root.event['value'] instanceof T(Number)

Console

  1. Ouvrez la section 'CLASSES DE MESSAGES' de l'interface utilisateur pour créer une classe de messages source. Une liste de toutes les classes de messages disponibles s'affiche dans cette section de l'interface utilisateur :

    Classes de messages : lister les messages

    Pour chaque classe de messages, les paramètres suivants s'affichent dans la liste :

    • Nom de la classe de messages : nom de la classe de messages. Doit être unique.
    • Expression de la classe de messages : expression SpEL réelle associée à la classe de messages.
    • Priorité : priorité de la classe de messages (les nombres inférieurs représentent des priorités plus élevées).
    • Activé : état des classes de messages. Les classes de messages désactivées ne feront pas partie de l'ingestion.
    • Actions : bouton contextuel permettant d'accéder aux fonctions 'Afficher/ Modifier' et 'Activer / Désactiver' pour la classe de messages sélectionnée.
  2. Pour ajouter une classe de messages, cliquez sur le bouton 'AJOUTER UNE CLASSE DE MESSAGES' en haut de la page. Un nouveau menu latéral s'affiche, contenant tous les paramètres de classe de messages requis :

    Classes de messages : créer une classe de messages

    • Nom de la classe de messages : chaîne unique définissant la classe de messages.
    • Expression de la classe de messages : fait référence à l'expression SpEL définissant la classe de messages.
    • Priorité : définit la priorité associée à la classe de messages. La priorité d'une classe de messages est un entier compris entre 0 et 65 535 inclus. Des entiers plus petits indiquent des priorités plus élevées. Si un message valide l'expression de deux classes de messages, seule celle dont la valeur de priorité est la plus faible sera déclenchée.
  3. Pour créer une classe de messages , remplissez le champ "Expression de la classe de messages" avec une expression SpEL valide et définissez la priorité.

  4. Cliquez sur le bouton 'CRÉER' pour enregistrer les modifications. Un message de confirmation s'affiche si la nouvelle classe de messages est créée.

Tester une expression de classe de messages source

Vous pouvez tester vos expressions de classe de messages source avant de créer une classe de messages source.

REST

POST /configuration/v1/message-classes:test

{
  "expression": "SPEL_EXPRESSION",
  "testMessage": "TEST_MESSAGE"
}

Remplacez les éléments suivants :

  • SPEL_EXPRESSION : expression SpEL définissant la classe de messages.
  • TEST_MESSAGE : objet de message source de test.

L'objet renvoyé vous indique si l'expression fournie est syntaxiquement correcte et si elle renverrait la valeur true ou false pour le message fourni.

Console

L'interface utilisateur vous permet de tester l'expression SpEL de la nouvelle classe de messages avec un message de test.

  1. Remplissez la zone 'Message de test' avec l' exemple de message JSON.
  2. Cliquez sur 'LANCER LE TEST' pour exécuter la validation. Le résultat du test est 'Correspondance' ou 'Aucune correspondance' , ainsi qu'une brève explication des critères de correspondance.

Classes de messages : classe de message de test

Évaluer un message de test par rapport à toutes les classes de messages actives

Vous pouvez évaluer un message pour déterminer dans quelle classe de messages source un message de test s'inscrirait pour un ensemble de classes de messages source actives.

REST

POST /configuration/v1/message-classes:evaluate

{
  "testMessage": "TEST_MESSAGE"
}

Remplacez les éléments suivants :

  • TEST_MESSAGE par l'objet de message source de test.

L'objet renvoyé vous indique la classe de messages source qui correspond au message fourni, le cas échéant.