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
- Nell'interfaccia web di MDE, fai clic su Classi di messaggi.
- Fai clic su Aggiungi nuova classe di messaggi.
- Inserisci il nome della classe di messaggi come
basic-numeric. 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 classe messaggio: basic-discrete
- Nell'interfaccia web di MDE, fai clic su Classi di messaggi.
- Fai clic su Aggiungi nuova classe di messaggi.
- Inserisci il nome della classe di messaggi come
basic-discrete. 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 classe messaggio: basic-continuous
- Nell'interfaccia web di MDE, fai clic su Classi di messaggi.
- Fai clic su Aggiungi nuova classe di messaggi.
- Inserisci il nome della classe di messaggi come
basic-continuous. 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 Nome tipo come
basic-numeric. 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 Nome tipo come
basic-discrete. Seleziona "
DISCRETE_DATA_SERIES" nel 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 Nome tipo come
basic-continuous. Seleziona "
CONTINUOUS_DATA_SERIES" nel 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. 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
- Nell'interfaccia web di MDE, fai clic su Parser.
- Fai clic su Aggiungi nuovo parser.
- Inserisci Nome parser come
basic-numeric-to-basic-numeric. - Seleziona
basic-numericnel menu a discesa per Nome classe messaggio. 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 Nome parser come
basic-numeric-to-basic-discrete. - Seleziona
basic-discretenel menu a discesa per Nome classe messaggio. 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 Nome parser come
basic-numeric-to-basic-continuous. - Seleziona
basic-continuousnel menu a discesa per Nome classe messaggio. 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.
