Configurazione di base
La deployment standard di Manufacturing Data Engine (MDE) non applica impostazioni di configurazione predefinite, necessarie per iniziare l'importazione dei dati.
Questa guida ti illustra una configurazione di base di MDE. Ad esempio, per verificare che il sistema funzioni end-to-end. Con questa guida puoi creare classi di messaggi, tipi e parser per tutti e tre gli archetipi.
Se intendi utilizzare Manufacturing Connect edge (MCe) per importare i dati, esegui il deployment del pacchetto di configurazione predefinito invece.
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 della classe di messaggi: basic-numeric
- Nell'interfaccia web di MDE, fai clic su Classi di messaggi.
- Fai clic su Aggiungi nuova classe di messaggi.
- Inserisci
basic-numericnel campo Nome della classe di messaggi. Copia la seguente espressione e incollala nella casella Espressione:
#root.event['value'] instanceof T(Number) && #root.event['timestamp'] != null && #root.event['tagName'] != nullModifica la priorità in
2000.Fai clic su Crea.

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 della classe di messaggi: basic-discrete
- Nell'interfaccia web di MDE, fai clic su Classi di messaggi.
- Fai clic su Aggiungi nuova classe di messaggi.
- Inserisci
basic-discretenel campo Nome della classe di messaggi. 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'] != nullModifica la priorità in
1975.Fai clic su Crea.

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 della classe di messaggi: basic-continuous
- Nell'interfaccia web di MDE, fai clic su Classi di messaggi.
- Fai clic su Aggiungi nuova classe di messaggi.
- Inserisci
basic-continuousnel campo Nome della classe di messaggi. 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'] != nullModifica la priorità in
1950.Fai clic su Crea.

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
- Nell'interfaccia web di MDE, fai clic su Tipi.
- Fai clic su Aggiungi nuovo tipo.
- Inserisci
basic-numericnel campo Nome del tipo. Seleziona
NUMERIC_DATA_SERIESnel menu a discesa per Archetipo:
Apri la sezione Impostazioni di archiviazione.
Attiva/disattiva l'opzione Invia a BigQuery.
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
- Nell'interfaccia web di MDE, fai clic su Tipi.
- Fai clic su Aggiungi nuovo tipo.
- Inserisci
basic-discretenel campo Nome del tipo. Seleziona `
DISCRETE_DATA_SERIESnel menu a discesa per Archetipo:
Apri la sezione Impostazioni di archiviazione.
Attiva/disattiva l'opzione Invia a BigQuery.
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
- Nell'interfaccia web di MDE, fai clic su Tipi.
- Fai clic su Aggiungi nuovo tipo.
- Inserisci
basic-continuousnel campo Nome del tipo. Seleziona `
CONTINUOUS_DATA_SERIESnel menu a discesa per Archetipo:
Apri la sezione Impostazioni di archiviazione.
Attiva/disattiva l'opzione Invia a BigQuery.
Fai clic su Crea.
Parser
Questa sezione fornisce una panoramica dei vari parser disponibili in MDE. Prima di creare i parser, assicurati che il provisioning dei tipi sia completo e che siano active. 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
- Nell'interfaccia web di MDE, fai clic su Parser.
- Fai clic su Aggiungi nuovo parser.
- Inserisci
basic-numeric-to-basic-numericnel campo Nome del parser. - Seleziona
basic-numericnel menu a discesa per Nome della classe di messaggi. 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; }Seleziona
basic-numeric | version: 1nel menu a discesa per Tipo.Fai clic su Crea.

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
- Nell'interfaccia web di MDE, fai clic su Parser.
- Fai clic su Aggiungi nuovo parser.
- Inserisci
basic-numeric-to-basic-discretenel campo Nome del parser. - Seleziona
basic-discretenel menu a discesa per Nome della classe di messaggi. 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; }Seleziona
basic-discrete | version: 1nel menu a discesa per Tipo.Fai clic su Crea.

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
- Nell'interfaccia web di MDE, fai clic su Parser.
- Fai clic su Aggiungi nuovo parser.
- Inserisci
basic-numeric-to-basic-continuousnel campo Nome del parser. - Seleziona
basic-continuousnel menu a discesa per Nome della classe di messaggi. 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; }Seleziona
basic-continuous | version: 1nel menu a discesa per Tipo.Fai clic su Crea.
