Quellnachrichtenklasse erstellen
In diesem Leitfaden wird beschrieben, wie Sie eine Quellnachrichtenklasse für die Manufacturing Data Engine (MDE) erstellen.
Modellierung von Quellnachrichtenklassen
Quellnachrichtenklassen sollten definiert werden, um eine Reihe von Quellnachrichten zu erfassen, die eine gemeinsame Struktur haben.
Je spezifischer Sie Ihre Quellnachrichtenklassen gestalten, desto weniger bedingte Anweisungen müssen Sie in Ihren Whistle-Skripten schreiben, um Schemadifferenzen zwischen verschiedenen Quellnachrichten zu verarbeiten. Die Erstellung spezifischerer Quellnachrichtenklassen erfordert jedoch mehr Parser.
Daher geht es bei der Modellierung von Quellnachrichtenklassen darum, das richtige Gleichgewicht zwischen Quellnachrichtenklassen mit einheitlichen Nachrichtenschemas und der Anzahl der Parser zu finden, die Sie verwalten müssen.
Quellnachrichtenklasse erstellen
In diesem Abschnitt wird beschrieben, wie Sie eine Quellnachrichtenklasse entweder mit API-Aufrufen oder über die Console-Benutzeroberfläche erstellen.
REST
POST /configuration/v1/message-classes
{
"name": "MESSAGE_CLASS_NAME",
"MESSAGE_CLASS_NAME": "PRIORITY",
"expression": "SPEL_EXPRESSION"
}
Ersetzen Sie Folgendes:
MESSAGE_CLASS_NAME: Der Name der zu erstellenden Nachrichtenklasse.PRIORITY: Die Priorität der Nachrichtenklasse. Die Priorität einer Nachrichtenklasse ist eine Ganzzahl zwischen 0 und 65535 (jeweils einschließlich). Niedrigere Werte bedeuten eine höhere Priorität.SPEL_EXPRESSION: Der SpEL-Ausdruck, der die Nachrichtenklasse definiert. Beispiel:#root.event['value'] instanceof T(Number)
Console
Öffnen Sie den Bereich 'MESSAGE CLASSES' (Nachrichtenklassen) der Benutzeroberfläche, um eine Source Message Class (Quellnachrichtenklasse) zu erstellen. In diesem Bereich der Benutzeroberfläche wird eine Liste aller verfügbaren Message Classes (Nachrichtenklassen) angezeigt:

Für jede Nachrichtenklasse werden in der Liste die folgenden Parameter angezeigt:
- Message Class Name (Name der Nachrichtenklasse): Der Name der Nachrichtenklasse. Muss eindeutig sein.
- Message Class Expression (Ausdruck der Nachrichtenklasse): Der tatsächliche SpEL-Ausdruck, der der Nachrichtenklasse zugeordnet ist.
- Priority (Priorität): Die Priorität der Nachrichtenklasse (niedrigere Zahlen stehen für höhere Prioritäten).
- Enabled (Aktiviert): Der Status der Nachrichtenklassen. Deaktivierte Nachrichtenklassen sind nicht Teil der Aufnahme.
- Aktionen: Eine kontextbezogene Schaltfläche, über die Sie auf die Funktion 'View / Edit' (Anzeigen/Bearbeiten) und die Funktionen 'Enable / Disable' (Aktivieren/Deaktivieren) für die ausgewählte Nachrichtenklasse zugreifen können.
Klicken Sie oben auf die Schaltfläche 'ADD NEW MESSAGE CLASS' (Neue Nachrichtenklasse hinzufügen), um eine neue Message Class (Nachrichtenklasse) hinzuzufügen. Ein neues seitliches Menü wird angezeigt, das alle erforderlichen Message Class -Parameter (Nachrichtenklasse) enthält, die angegeben werden müssen:

- Message Class Name (Name der Nachrichtenklasse): Eine eindeutige String, die die Nachrichtenklasse definiert.
- Message Class Expression (Ausdruck der Nachrichtenklasse): Bezieht sich auf den SpEL-Ausdruck, der die Nachrichtenklasse definiert.
- Priority (Priorität): Definiert die Priorität, die der Nachrichtenklasse zugeordnet ist. Die Priorität einer Nachrichtenklasse ist eine Ganzzahl zwischen 0 und 65535 (jeweils einschließlich). Niedrigere Werte bedeuten eine höhere Priorität. Wenn eine Nachricht den Ausdruck von zwei Nachrichtenklassen validiert, wird nur die mit dem niedrigeren Prioritätswert ausgelöst.
Geben Sie zum Erstellen einer neuen Message Class (Nachrichtenklasse) im Feld „Message Class Expression“ (Ausdruck der Nachrichtenklasse) einen gültigen SpEL-Ausdruck ein und legen Sie die Priorität fest.
Klicken Sie auf die Schaltfläche 'CREATE' , um die Änderungen zu speichern. Wenn die neue Nachrichtenklasse erfolgreich erstellt wurde, wird eine Bestätigungsmeldung angezeigt.
Ausdruck einer Quellnachrichtenklasse testen
Sie können mit den Ausdrücken Ihrer Quellnachrichtenklasse experimentieren und sie testen, bevor Sie eine Quellnachrichtenklasse erstellen.
REST
POST /configuration/v1/message-classes:test
{
"expression": "SPEL_EXPRESSION",
"testMessage": "TEST_MESSAGE"
}
Ersetzen Sie Folgendes:
SPEL_EXPRESSION: Der SpEL-Ausdruck, der die Nachrichtenklasse definiert.TEST_MESSAGE: Das Testobjekt für die Quellnachricht.
Das zurückgegebene Objekt informiert Sie darüber, ob der angegebene Ausdruck syntaktisch korrekt ist und ob er für die angegebene Nachricht zu true oder false ausgewertet wird.
Console
Über die Benutzeroberfläche können Sie den SpEL-Ausdruck der neuen Nachrichtenklasse mit einer Testnachricht testen.
- Geben Sie im Feld 'Test Message' (Testnachricht) die
Beispielnachricht
JSONein. - Klicken Sie auf 'RUN TEST' (Test ausführen), um die Validierung auszuführen. Das Ergebnis des Tests ist 'Matched' (Übereinstimmung) oder 'Not matched' (Keine Übereinstimmung) und eine kurze Erklärung der Übereinstimmungskriterien.

Testnachricht anhand aller aktiven Nachrichtenklassen auswerten
Sie können eine Nachricht auswerten, um zu ermitteln, in welche Quellnachrichtenklasse eine Testnachricht für eine Reihe aktiver Quellnachrichtenklassen fallen würde.
REST
POST /configuration/v1/message-classes:evaluate
{
"testMessage": "TEST_MESSAGE"
}
Ersetzen Sie Folgendes:
TEST_MESSAGEdurch das Testobjekt für die Quellnachricht.
Das zurückgegebene Objekt informiert Sie darüber, welche Quellnachrichtenklasse für die angegebene Nachricht gefunden wurde, falls vorhanden.