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

  1. En la interfaz web del MDE, haz clic en Clases de mensajes.
  2. Haz clic en Add new Message Class.
  3. Completa el Nombre de la clase de mensaje como basic-numeric.
  4. 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'] != null
    
  5. Cambia la prioridad a 2000.

  6. Haz clic en Crear.

    MC básica numérica

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

  1. En la interfaz web del MDE, haz clic en Clases de mensajes.
  2. Haz clic en Add new Message Class.
  3. Completa el Nombre de la clase de mensaje como basic-discrete.
  4. 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'] != null
    
  5. Cambia la prioridad a 1975.

  6. Haz clic en Crear.

    MC básica y discreta

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

  1. En la interfaz web del MDE, haz clic en Clases de mensajes.
  2. Haz clic en Add new Message Class.
  3. Completa el Nombre de la clase de mensaje como basic-continuous.
  4. 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'] != null
    
  5. Cambia la prioridad a 1950.

  6. Haz clic en Crear.

    MC básica continua

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

  1. En la interfaz web del MDE, haz clic en Types.
  2. Haz clic en Agregar nuevo tipo.
  3. Completa el Nombre del tipo como basic-numeric.
  4. Selecciona NUMERIC_DATA_SERIES en el menú desplegable de Arquetipo:

    Tipo básico-numérico

  5. Abre la sección Configuración de almacenamiento.

  6. Activa la opción Send to BigQuery.

  7. 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

  1. En la interfaz web del MDE, haz clic en Types.
  2. Haz clic en Agregar nuevo tipo.
  3. Completa el Nombre del tipo como basic-discrete.
  4. Selecciona "DISCRETE_DATA_SERIES" en el menú desplegable de Arquetipo:

    Tipo básico-discreto

  5. Abre la sección Configuración de almacenamiento.

  6. Activa la opción Send to BigQuery.

  7. 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

  1. En la interfaz web del MDE, haz clic en Types.
  2. Haz clic en Agregar nuevo tipo.
  3. Completa el Nombre del tipo como basic-continuous.
  4. Selecciona "CONTINUOUS_DATA_SERIES" en el menú desplegable de Arquetipo:

    Tipo básico continuo

  5. Abre la sección Configuración de almacenamiento.

  6. Activa la opción Send to BigQuery.

  7. 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

  1. En la interfaz web del MDE, haz clic en Parsers.
  2. Haz clic en Add new Parser.
  3. Completa el Nombre del analizador como basic-numeric-to-basic-numeric.
  4. Selecciona basic-numeric en el menú desplegable de Nombre de clase de mensaje.
  5. 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;
     }
    
  6. Selecciona basic-numeric | version: 1 en el menú desplegable de Tipo.

  7. Haz clic en Crear.

    Analizador básico-numérico

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

  1. En la interfaz web del MDE, haz clic en Parsers.
  2. Haz clic en Add new Parser.
  3. Completa el Nombre del analizador como basic-numeric-to-basic-discrete.
  4. Selecciona basic-discrete en el menú desplegable de Nombre de clase de mensaje.
  5. 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;
     }
    
  6. Selecciona basic-discrete | version: 1 en el menú desplegable de Tipo.

  7. Haz clic en Crear.

    Analizador básico-discreto

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

  1. En la interfaz web del MDE, haz clic en Parsers.
  2. Haz clic en Add new Parser.
  3. Completa el Nombre del analizador como basic-numeric-to-basic-continuous.
  4. Selecciona basic-continuous en el menú desplegable de Nombre de clase de mensaje.
  5. 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;
     }
    
  6. Selecciona basic-continuous | version: 1 en el menú desplegable de Tipo.

  7. Haz clic en Crear.

    Analizador básico continuo