Cómo crear clases de mensajes

Manufacturing Data Engine (MDE) te permite transformar una serie de mensajes fuente en registros de un tipo específico a través del análisis.

Las clases de mensajes fuente son entidades de configuración que representan la fuente de la operación de análisis y describen un conjunto de mensajes fuente similares de forma estructural y semántica.

source-to-target

Las clases de mensajes fuente proporcionan un esquema de mensajes predecible para los analizadores, de modo que las transformaciones, las asignaciones y la extracción de datos se puedan realizar en campos conocidos.

Clasificación de mensajes fuente

Cada clase de mensaje tiene una expresión de clase de mensaje y una prioridad asociadas. La prioridad de una clase de mensaje es un número entero entre 0 y 65535 , inclusive. Los números enteros más bajos indican prioridades más altas.

Un mensaje fuente se asocia a una clase de mensaje fuente cuando la primera expresión de clase de mensaje fuente se evalúa como true después de que las clases se ordenan por prioridad.

Las expresiones de clase de mensaje fuente se escriben en Spring Expression Language (SpEL).

source-message-class

Las expresiones de SpEL pueden acceder a los atributos (atributos de Pub/Sub) y los datos del mensaje fuente. Los atributos del mensaje se exponen bajo la clave #root.headers, y los datos se exponen bajo la clave #root.event.

A continuación, se incluyen ejemplos de expresiones de SpEL para una clase de mensaje fuente:

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

Restricciones de nombres para las clases de mensajes

Un nombre de clase de mensaje puede contener lo siguiente:

  • Letras (mayúsculas y minúsculas), números y los caracteres especiales - y _
  • Puede tener hasta 255 caracteres.

Puedes usar la siguiente expresión regular para la validación: ^[a-z][a-z0-9\\-_]{1,255}$

Si intentas crear una entidad que incumpla las restricciones de nomenclatura, recibirás un 400 error.