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.
- En Type name, ingresa
basic-numeric. Selecciona
NUMERIC_DATA_SERIESen el menú desplegable de Arquetipo:
Abre la sección Configuración de almacenamiento.
Activa la opción Enviar a 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.
- En Type name, ingresa
basic-discrete. Selecciona "
DISCRETE_DATA_SERIES" en el menú desplegable de Arquetipo:
Abre la sección Configuración de almacenamiento.
Activa la opción Enviar a 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.
- En Type name, ingresa
basic-continuous. Selecciona "
CONTINUOUS_DATA_SERIES" en el menú desplegable de Arquetipo:
Abre la sección Configuración de almacenamiento.
Activa la opción Enviar a 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 campo Parser name 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 campo Parser name 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 campo Parser name 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.
