Configuração básica
A implantação padrão do Manufacturing Data Engine (MDE) não aplica nenhuma configuração por padrão, o que é necessário para começar a ingerir dados.
Este guia mostra uma configuração básica do MDE. Por exemplo, para testar se o sistema funciona de ponta a ponta. Com este guia, você pode criar classes, tipos e analisadores de mensagens para todos os três arquétipos.
Se você pretende usar o Manufacturing Connect Edge (MCe) para ingerir dados, implante o pacote de configuração padrão.
É possível usar a API MDE ou a interface da Web para concluir essa configuração.
Classes de mensagem
Esta seção apresenta exemplos das classes de mensagens disponíveis no MDE.
Classe de mensagem para numeric
Confira abaixo um exemplo de classe de mensagem 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"
}
Interface da Web
Nome da classe da mensagem: basic-numeric
- Na interface da Web do MDE, clique em Classes de mensagens.
- Clique em Adicionar nova classe de mensagem.
- Preencha o Nome da classe de mensagem como
basic-numeric. Copie e cole a seguinte expressão na caixa Expressão:
#root.event['value'] instanceof T(Number) && #root.event['timestamp'] != null && #root.event['tagName'] != nullMude a prioridade para
2000.Clique em Criar.

Classe de mensagem para discrete
Confira abaixo um exemplo de classe de mensagem 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"
}
Interface da Web
Nome da classe da mensagem: basic-discrete
- Na interface da Web do MDE, clique em Classes de mensagens.
- Clique em Adicionar nova classe de mensagem.
- Preencha o Nome da classe de mensagem como
basic-discrete. Copie e cole a seguinte expressão na caixa Expressão:
#root.event['value'] != null && !(#root.event['value'] instanceof T(Number)) && #root.event['timestamp'] != null && #root.event['tagName'] != nullMude a prioridade para
1975.Clique em Criar.

Classe de mensagem para continuous
Confira abaixo um exemplo de classe de mensagem 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"
}
Interface da Web
Nome da classe da mensagem: basic-continuous
- Na interface da Web do MDE, clique em Classes de mensagens.
- Clique em Adicionar nova classe de mensagem.
- Preencha o Nome da classe de mensagem como
basic-continuous. Copie e cole a seguinte expressão na caixa Expressão:
#root.event['value'] != null && !(#root.event['value'] instanceof T(Number)) && #root.event['startTimestamp'] != null && #root.event['endTimestamp'] != null && #root.event['tagName'] != nullMude a prioridade para
1950.Clique em Criar.

Tipos
Esta seção fornece uma visão geral dos tipos disponíveis no MDE.
Tipo de numeric
Confira abaixo um exemplo de tipo basic-numeric:
REST
POST /configuration/v1/types
{
"archetype": "NUMERIC_DATA_SERIES",
"name": "basic-numeric"
}
Interface da Web
Nome: basic-numeric
- Na interface da Web do MDE, clique em Tipos.
- Clique em Adicionar novo tipo.
- Preencha o Nome do tipo como
basic-numeric. Selecione
NUMERIC_DATA_SERIESno menu suspenso Arquétipo:
Abra a seção Configurações de armazenamento.
Ative a opção Enviar para o BigQuery.
Clique em Criar.
Tipo de discrete
Confira abaixo um exemplo de tipo basic-discrete:
REST
POST /configuration/v1/types
{
"archetype": "DISCRETE_DATA_SERIES",
"name": "basic-discrete"
}
Interface da Web
Nome: basic-discrete
- Na interface da Web do MDE, clique em Tipos.
- Clique em Adicionar novo tipo.
- Preencha o Nome do tipo como
basic-discrete. Selecione
DISCRETE_DATA_SERIESno menu suspenso Arquétipo:
Abra a seção Configurações de armazenamento.
Ative a opção Enviar para o BigQuery.
Clique em Criar.
Tipo de continuous
Confira abaixo um exemplo de tipo basic-continuous:
REST
POST /configuration/v1/types
{
"archetype": "CONTINUOUS_DATA_SERIES",
"name": "basic-continuous"
}
Interface da Web
Nome: basic-continuous
- Na interface da Web do MDE, clique em Tipos.
- Clique em Adicionar novo tipo.
- Preencha o Nome do tipo como
basic-continuous. Selecione
CONTINUOUS_DATA_SERIESno menu suspenso Arquétipo:
Abra a seção Configurações de armazenamento.
Ative a opção Enviar para o BigQuery.
Clique em Criar.
Analisadores
Esta seção oferece uma visão geral dos vários analisadores disponíveis no
MDE. Verifique se os tipos estão totalmente
provisionados e active antes de criar os analisadores. Esse processo pode levar até três minutos.
Analisador para numeric
Confira abaixo um exemplo de analisador 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}"
}
Interface da Web
Nome: basic-numeric-to-basic-numeric
- Na interface da Web do MDE, clique em Analistas.
- Clique em Adicionar novo analisador.
- Preencha o Nome do analisador como
basic-numeric-to-basic-numeric. - Selecione
basic-numericno menu suspenso Nome da classe de mensagem. Copie e cole o seguinte código do Whistle na caixa 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; }Selecione
basic-numeric | version: 1no menu suspenso Tipo.Clique em Criar.

Analisador para discrete
Confira abaixo um exemplo de analisador 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"
}
Interface da Web
Nome: basic-discrete-to-basic-discrete
- Na interface da Web do MDE, clique em Analistas.
- Clique em Adicionar novo analisador.
- Preencha o Nome do analisador como
basic-numeric-to-basic-discrete. - Selecione
basic-discreteno menu suspenso Nome da classe de mensagem. Copie e cole o seguinte código do Whistle na caixa 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; }Selecione
basic-discrete | version: 1no menu suspenso Tipo.Clique em Criar.

Analisador para continuous
Confira abaixo um exemplo de analisador 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"
}
Interface da Web
Nome: basic-continuous-to-basic-continuous
- Na interface da Web do MDE, clique em Analistas.
- Clique em Adicionar novo analisador.
- Preencha o Nome do analisador como
basic-numeric-to-basic-continuous. - Selecione
basic-continuousno menu suspenso Nome da classe de mensagem. Copie e cole o seguinte código do Whistle na caixa 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; }Selecione
basic-continuous | version: 1no menu suspenso Tipo.Clique em Criar.
