Creare classi di messaggi

Manufacturing Data Engine (MDE) consente di trasformare una serie di messaggi di origine in record di un tipo specifico mediante l'analisi.

Le classi di messaggi di origine sono entità di configurazione che rappresentano l'origine dell'operazione di analisi e descrivono un insieme di messaggi di origine strutturalmente e semanticamente simili.

source-to-target

Le classi di messaggi di origine forniscono uno schema di messaggi prevedibile ai parser, in modo che le trasformazioni, le mappature e l'estrazione dei dati possano essere eseguite su campi noti.

Classificazione del messaggio di origine

Ogni classe di messaggi ha una espressione della classe di messaggi e una priorità associate. La priorità di una classe di messaggi è un numero intero compreso tra 0 e 65535 inclusi. I numeri interi più bassi indicano le priorità più alte.

Un messaggio di origine è associato a una classe di messaggi di origine quando la prima espressione della classe di messaggi di origine restituisce true dopo che le classi sono state ordinate in base alla priorità.

Le espressioni della classe di messaggi di origine sono scritte in Spring Expression Language (SpEL).

source-message-class

Le espressioni SpEL possono accedere agli attributi dei messaggi di origine (attributi Pub/Sub) e ai dati. Gli attributi del messaggio sono esposti sotto la chiave #root.headers, mentre i dati sono esposti sotto la chiave #root.event.

Di seguito sono riportati alcuni esempi di espressioni SpEL per una classe di messaggi di origine:

#root.event['MessageType'] != null && #root.event['MessageType'] matches 'Sensor.*'
#root.headers['source'] != null && #root.headers['source'] == 'MCe'

Limitazioni di denominazione per le classi di messaggi

Il nome di una classe di messaggi può contenere:

  • Lettere (maiuscole e minuscole), numeri e i caratteri speciali - e _.
  • Può contenere fino a 255 caratteri.

Puoi utilizzare la seguente espressione regolare per la convalida: ^[a-z][a-z0-9\\-_]{1,255}$

Se tenti di creare un'entità che viola le limitazioni di denominazione, riceverai un 400 error.