Configuración básica
La implementación estándar de Manufacturing Data Engine (MDE) no aplica ningún parámetro de configuración de forma predeterminada, los cuales son necesarios para comenzar a ingerir datos.
En esta guía, se explica cómo realizar una configuración básica del MDE. Por ejemplo, para probar que el sistema funciona de extremo a extremo. Con esta guía, puedes crear clases, tipos y analizadores de mensajes para los tres arquetipos.
Si planeas usar Manufacturing Connect Edge (MCe) para transferir datos, implementa el paquete de configuración predeterminado.
Puedes usar la API de MDE o la interfaz web para completar esta configuración.
Clases de mensajes
En esta sección, se proporcionan ejemplos de las clases de mensajes disponibles en MDE.
Clase de mensaje para numeric
A continuación, se muestra un ejemplo de una clase de mensaje basic-numeric:
REST
POST /configuration/v1/message-classes
{
"name": "basic-numeric",
"priority": 2000,
"expression": "#root.event['value'] instanceof T(Number) && #root.event['timestamp'] != null && #root.event['tagName'] != null"
}
Interfaz web
Nombre de la clase del mensaje: basic-numeric
- En la interfaz web del MDE, haz clic en Clases de mensajes.
- Haz clic en Add new Message Class.
- Completa el Nombre de la clase de mensaje como
basic-numeric. Copia la siguiente expresión y pégala en el cuadro Expression:
#root.event['value'] instanceof T(Number) && #root.event['timestamp'] != null && #root.event['tagName'] != nullCambia la prioridad a
2000.Haz clic en Crear.

Clase de mensaje para discrete
A continuación, se muestra un ejemplo de una clase de mensaje basic-discrete:
REST
POST /configuration/v1/message-classes
{
"name": "basic-discrete",
"priority": 1975,
"expression": "#root.event['value'] != null && !(#root.event['value'] instanceof T(Number)) && #root.event['timestamp'] != null && #root.event['tagName'] != null"
}
Interfaz web
Nombre de la clase del mensaje: basic-discrete
- En la interfaz web del MDE, haz clic en Clases de mensajes.
- Haz clic en Add new Message Class.
- Completa el Nombre de la clase de mensaje como
basic-discrete. Copia la siguiente expresión y pégala en el cuadro Expression:
#root.event['value'] != null && !(#root.event['value'] instanceof T(Number)) && #root.event['timestamp'] != null && #root.event['tagName'] != nullCambia la prioridad a
1975.Haz clic en Crear.

Clase de mensaje para continuous
A continuación, se muestra un ejemplo de una clase de mensaje basic-continuous:
REST
POST /configuration/v1/message-classes
{
"name": "basic-continuous",
"priority": 1950,
"expression": "#root.event['value'] != null && !(#root.event['value'] instanceof T(Number)) && #root.event['startTimestamp'] != null && #root.event['endTimestamp'] != null && #root.event['tagName'] != null"
}
Interfaz web
Nombre de la clase del mensaje: basic-continuous
- En la interfaz web del MDE, haz clic en Clases de mensajes.
- Haz clic en Add new Message Class.
- Completa el Nombre de la clase de mensaje como
basic-continuous. Copia la siguiente expresión y pégala en el cuadro Expression:
#root.event['value'] != null && !(#root.event['value'] instanceof T(Number)) && #root.event['startTimestamp'] != null && #root.event['endTimestamp'] != null && #root.event['tagName'] != nullCambia la prioridad a
1950.Haz clic en Crear.

Tipos
En esta sección, se proporciona una descripción general de los tipos disponibles en MDE.
Tipo de numeric
A continuación, se muestra un ejemplo de un tipo basic-numeric:
REST
POST /configuration/v1/types
{
"archetype": "NUMERIC_DATA_SERIES",
"name": "basic-numeric"
}
Interfaz web
Nombre: basic-numeric
- En la interfaz web del MDE, haz clic en Types.
- Haz clic en Agregar nuevo tipo.
- Completa el Nombre del tipo como
basic-numeric. Selecciona
NUMERIC_DATA_SERIESen el menú desplegable de Arquetipo:
Abre la sección Configuración de almacenamiento.
Activa la opción Send to BigQuery.
Haz clic en Crear.
Tipo de discrete
A continuación, se muestra un ejemplo de un tipo basic-discrete:
REST
POST /configuration/v1/types
{
"archetype": "DISCRETE_DATA_SERIES",
"name": "basic-discrete"
}
Interfaz web
Nombre: basic-discrete
- En la interfaz web del MDE, haz clic en Types.
- Haz clic en Agregar nuevo tipo.
- Completa el Nombre del tipo como
basic-discrete. Selecciona "
DISCRETE_DATA_SERIES" en el menú desplegable de Arquetipo:
Abre la sección Configuración de almacenamiento.
Activa la opción Send to BigQuery.
Haz clic en Crear.
Tipo de continuous
A continuación, se muestra un ejemplo de un tipo basic-continuous:
REST
POST /configuration/v1/types
{
"archetype": "CONTINUOUS_DATA_SERIES",
"name": "basic-continuous"
}
Interfaz web
Nombre: basic-continuous
- En la interfaz web del MDE, haz clic en Types.
- Haz clic en Agregar nuevo tipo.
- Completa el Nombre del tipo como
basic-continuous. Selecciona "
CONTINUOUS_DATA_SERIES" en el menú desplegable de Arquetipo:
Abre la sección Configuración de almacenamiento.
Activa la opción Send to BigQuery.
Haz clic en Crear.
Analizadores
En esta sección, se proporciona una descripción general de los distintos analizadores disponibles en MDE. Asegúrate de que los tipos estén completamente aprovisionados y active antes de crear los analizadores. Este proceso puede tardar hasta tres minutos.
Analizador para numeric
A continuación, se muestra un ejemplo de un analizador de basic-numeric:
REST
POST /configuration/v1/parsers
{
"name": "basic-numeric-to-basic-numeric",
"messageClassName": "basic-numeric",
"typeReference": {
"name": "basic-numeric",
"version": 1
},
"script": "package mde\n\n[{\ntagName: $root.tagName;\ntimestamps: MapTimestamp($root);\ndata: MapData($root);\nembeddedMetadata: $root[where ($.field != \"value\" and $.field != \"tagName\" and $.field != \"timestamp\" and $.field != \"messageId\")];\n}]\n\ndef MapTimestamp(input) {\n eventTimestamp: input.timestamp;\n}\n\ndef MapData(input) {\n numeric: input.value;\n}"
}
Interfaz web
Nombre: basic-numeric-to-basic-numeric
- En la interfaz web del MDE, haz clic en Parsers.
- Haz clic en Add new Parser.
- Completa el Nombre del analizador como
basic-numeric-to-basic-numeric. - Selecciona
basic-numericen el menú desplegable de Nombre de clase de mensaje. Copia y pega el siguiente código de Whistle en el cuadro Parser:
package mde [{ tagName: $root.tagName; timestamps: MapTimestamp($root); data: MapData($root); embeddedMetadata: $root[where ($.field != "value" and $.field != "tagName" and $.field != "timestamp" and $.field != "messageId")]; }] def MapTimestamp(input) { eventTimestamp: input.timestamp; } def MapData(input) { numeric: input.value; }Selecciona
basic-numeric | version: 1en el menú desplegable de Tipo.Haz clic en Crear.

Analizador para discrete
A continuación, se muestra un ejemplo de un analizador de basic-discrete:
REST
POST /configuration/v1/parsers
{
"name": "basic-discrete-to-basic-discrete",
"messageClassName": "basic-discrete",
"typeReference": {
"name": "basic-discrete",
"version": 1
},
"script": "package mde\n\n[{\ntagName: $root.tagName;\ntimestamps: MapTimestamp($root);\ndata: MapData($root);\nembeddedMetadata: $root[where ($.field != \"value\" and $.field != \"tagName\" and $.field != \"timestamp\" and $.field != \"messageId\")];\n}]\n\ndef MapTimestamp(input) {\n eventTimestamp: input.timestamp;\n}\n\ndef MapData(input) {\n complex: input.value;\n}\n"
}
Interfaz web
Nombre: basic-discrete-to-basic-discrete
- En la interfaz web del MDE, haz clic en Parsers.
- Haz clic en Add new Parser.
- Completa el Nombre del analizador como
basic-numeric-to-basic-discrete. - Selecciona
basic-discreteen el menú desplegable de Nombre de clase de mensaje. Copia y pega el siguiente código de Whistle en el cuadro Parser:
package mde [{ tagName: $root.tagName; timestamps: MapTimestamp($root); data: MapData($root); embeddedMetadata: $root[where ($.field != "value" and $.field != "tagName" and $.field != "timestamp" and $.field != "messageId")]; }] def MapTimestamp(input) { eventTimestamp: input.timestamp; } def MapData(input) { complex: input.value; }Selecciona
basic-discrete | version: 1en el menú desplegable de Tipo.Haz clic en Crear.

Analizador para continuous
A continuación, se muestra un ejemplo de un analizador de basic-continuous:
REST
POST /configuration/v1/parsers
{
"name": "basic-continuous-to-basic-continuous",
"messageClassName": "basic-continuous",
"typeReference": {
"name": "basic-continuous",
"version": 1
},
"script": "package mde\n\n[{\ntagName: $root.tagName;\ntimestamps: MapTimestamp($root);\ndata: MapData($root);\nduration: $root.duration;\nembeddedMetadata: $root[where ($.field != \"value\" and $.field != \"tagName\" and $.field != \"startTimestamp\" and $.field != \"endTimestamp\" and $.field != \"messageId\")];\n}]\n\ndef MapTimestamp(input) {\n continuousTimestamp: {\n eventTimestampStart: input.startTimestamp;\n eventTimestampEnd: input.endTimestamp;\n };\n}\n\ndef MapData(input) {\n complex: input.value;\n}\n"
}
Interfaz web
Nombre: basic-continuous-to-basic-continuous
- En la interfaz web del MDE, haz clic en Parsers.
- Haz clic en Add new Parser.
- Completa el Nombre del analizador como
basic-numeric-to-basic-continuous. - Selecciona
basic-continuousen el menú desplegable de Nombre de clase de mensaje. Copia y pega el siguiente código de Whistle en el cuadro Parser:
package mde [{ tagName: $root.tagName; timestamps: MapTimestamp($root); data: MapData($root); duration: $root.duration; embeddedMetadata: $root[where ($.field != "value" and $.field != "tagName" and $.field != "startTimestamp" and $.field != "endTimestamp" and $.field != "messageId")]; }] def MapTimestamp(input) { continuousTimestamp: { eventTimestampStart: input.startTimestamp; eventTimestampEnd: input.endTimestamp; }; } def MapData(input) { complex: input.value; }Selecciona
basic-continuous | version: 1en el menú desplegable de Tipo.Haz clic en Crear.
