Configurazione di base

Il deployment standard di Manufacturing Data Engine (MDE) non applica alcuna impostazione di configurazione per impostazione predefinita, necessaria per iniziare l'importazione dei dati.

Questa guida illustra una configurazione MDE di base. Ad esempio, per verificare che il sistema funzioni end-to-end. Con questa guida puoi creare classi, tipi e analizzatori di messaggi per tutti e tre gli archetipi.

Se intendi utilizzare Manufacturing Connect edge (MCe) per importare i dati, implementa il pacchetto di configurazione predefinito.

Per completare questa configurazione, puoi utilizzare l'API MDE o l'interfaccia web.

Classi di messaggi

Questa sezione fornisce esempi delle classi di messaggi disponibili in MDE.

Classe di messaggi per numeric

Di seguito è riportato un esempio di classe di messaggi 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"
}

Interfaccia web

Nome classe messaggio: basic-numeric

  1. Nell'interfaccia web di MDE, fai clic su Classi di messaggi.
  2. Fai clic su Aggiungi nuova classe di messaggi.
  3. Inserisci il nome della classe di messaggi come basic-numeric.
  4. Copia la seguente espressione e incollala nella casella Espressione:

       #root.event['value'] instanceof T(Number) && #root.event['timestamp'] != null && #root.event['tagName'] != null
    
  5. Modifica la priorità in 2000.

  6. Fai clic su Crea.

    MC numerico di base

Classe di messaggi per discrete

Di seguito è riportato un esempio di classe di messaggi 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"
   }

Interfaccia web

Nome classe messaggio: basic-discrete

  1. Nell'interfaccia web di MDE, fai clic su Classi di messaggi.
  2. Fai clic su Aggiungi nuova classe di messaggi.
  3. Inserisci il nome della classe di messaggi come basic-discrete.
  4. Copia la seguente espressione e incollala nella casella Espressione:

       #root.event['value'] != null && !(#root.event['value'] instanceof T(Number)) && #root.event['timestamp'] != null  && #root.event['tagName'] != null
    
  5. Modifica la priorità in 1975.

  6. Fai clic su Crea.

    MC di base discreto

Classe di messaggi per continuous

Di seguito è riportato un esempio di classe di messaggi 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"
   }

Interfaccia web

Nome classe messaggio: basic-continuous

  1. Nell'interfaccia web di MDE, fai clic su Classi di messaggi.
  2. Fai clic su Aggiungi nuova classe di messaggi.
  3. Inserisci il nome della classe di messaggi come basic-continuous.
  4. Copia la seguente espressione e incollala nella casella Espressione:

    #root.event['value'] != null && !(#root.event['value'] instanceof T(Number)) && #root.event['startTimestamp'] != null && #root.event['endTimestamp'] != null && #root.event['tagName'] != null
    
  5. Modifica la priorità in 1950.

  6. Fai clic su Crea.

    MC di base continuo

Tipi

Questa sezione fornisce una panoramica dei tipi disponibili in MDE.

Tipo per numeric

Di seguito è riportato un esempio di tipo basic-numeric:

REST

POST /configuration/v1/types

{
   "archetype": "NUMERIC_DATA_SERIES",
   "name": "basic-numeric"
}

Interfaccia web

Nome: basic-numeric

  1. Nell'interfaccia web di MDE, fai clic su Tipi.
  2. Fai clic su Aggiungi nuovo tipo.
  3. Inserisci Nome tipo come basic-numeric.
  4. Seleziona NUMERIC_DATA_SERIES nel menu a discesa per Archetipo:

    Tipo di base numerico

  5. Apri la sezione Impostazioni di archiviazione.

  6. Attiva/disattiva l'opzione Invia a BigQuery.

  7. Fai clic su Crea.

Tipo per discrete

Di seguito è riportato un esempio di tipo basic-discrete:

REST

POST /configuration/v1/types

{
   "archetype": "DISCRETE_DATA_SERIES",
   "name": "basic-discrete"
}

Interfaccia web

Nome: basic-discrete

  1. Nell'interfaccia web di MDE, fai clic su Tipi.
  2. Fai clic su Aggiungi nuovo tipo.
  3. Inserisci Nome tipo come basic-discrete.
  4. Seleziona "DISCRETE_DATA_SERIES" nel menu a discesa per Archetipo:

    Tipo di base-discreto

  5. Apri la sezione Impostazioni di archiviazione.

  6. Attiva/disattiva l'opzione Invia a BigQuery.

  7. Fai clic su Crea.

Tipo per continuous

Di seguito è riportato un esempio di tipo basic-continuous:

REST

POST /configuration/v1/types

{
   "archetype": "CONTINUOUS_DATA_SERIES",
   "name": "basic-continuous"
}

Interfaccia web

Nome: basic-continuous

  1. Nell'interfaccia web di MDE, fai clic su Tipi.
  2. Fai clic su Aggiungi nuovo tipo.
  3. Inserisci Nome tipo come basic-continuous.
  4. Seleziona "CONTINUOUS_DATA_SERIES" nel menu a discesa per Archetipo:

    Tipo Basic-continuous

  5. Apri la sezione Impostazioni di archiviazione.

  6. Attiva/disattiva l'opzione Invia a BigQuery.

  7. Fai clic su Crea.

Parser

Questa sezione fornisce una panoramica dei vari parser disponibili in MDE. Assicurati che i tipi siano completamente provisionati e active prima di creare i parser. Questa operazione può richiedere fino a tre minuti.

Parser per numeric

Di seguito è riportato un esempio di parser 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}"
}

Interfaccia web

Nome: basic-numeric-to-basic-numeric

  1. Nell'interfaccia web di MDE, fai clic su Parser.
  2. Fai clic su Aggiungi nuovo parser.
  3. Inserisci Nome parser come basic-numeric-to-basic-numeric.
  4. Seleziona basic-numeric nel menu a discesa per Nome classe messaggio.
  5. Copia e incolla il seguente codice Whistle nella casella 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. Seleziona basic-numeric | version: 1 nel menu a discesa per Tipo.

  7. Fai clic su Crea.

    Parser numerico di base

Parser per discrete

Di seguito è riportato un esempio di parser 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"
}

Interfaccia web

Nome: basic-discrete-to-basic-discrete

  1. Nell'interfaccia web di MDE, fai clic su Parser.
  2. Fai clic su Aggiungi nuovo parser.
  3. Inserisci Nome parser come basic-numeric-to-basic-discrete.
  4. Seleziona basic-discrete nel menu a discesa per Nome classe messaggio.
  5. Copia e incolla il seguente codice Whistle nella casella 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. Seleziona basic-discrete | version: 1 nel menu a discesa per Tipo.

  7. Fai clic su Crea.

    Parser di base discreto

Parser per continuous

Di seguito è riportato un esempio di parser 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"
}

Interfaccia web

Nome: basic-continuous-to-basic-continuous

  1. Nell'interfaccia web di MDE, fai clic su Parser.
  2. Fai clic su Aggiungi nuovo parser.
  3. Inserisci Nome parser come basic-numeric-to-basic-continuous.
  4. Seleziona basic-continuous nel menu a discesa per Nome classe messaggio.
  5. Copia e incolla il seguente codice Whistle nella casella 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. Seleziona basic-continuous | version: 1 nel menu a discesa per Tipo.

  7. Fai clic su Crea.

    Parser di base continuo