Adicionar uma transformação a um tipo
Este guia descreve como adicionar uma transformação a um determinado tipo no Manufacturing Data Engine (MDE).
Como escolher uma transformação
Há várias transformações disponíveis no MDE. O pacote de configuração padrão oferece duas transformações que podem ser associadas a qualquer um dos tipos disponíveis nesse pacote:
- Transformação Mudar evento de grupo: essa transformação monitora qualquer campo em uma tag ou um grupo de tags e gera um evento sempre que os valores monitorados mudam em qualquer uma dessas tags. Essa transformação pode ser associada a um tipo de qualquer arquétipo.
- Transformação de janelamento: essa transformação aplica uma função de janelamento a todas as tags de um tipo. Janelas se refere ao resumo de vários registros em um período em um único registro. A transformação de janela pode ser associada a qualquer tipo de qualquer arquétipo. Ele pode resumir os registros de tags de 1 minuto a 60 minutos. O resultado da transformação é uma mensagem bruta que contém os valores de resumo da expressão de valor durante o período selecionado.
O pacote de configuração padrão fornece as classes de mensagem, os analisadores e os tipos necessários para processar as mensagens brutas emitidas por essas duas transformações. Os dois tipos fornecidos para processar as mensagens brutas geradas por cada transformação são os seguintes:
group-event-change-records: tipo de destino para as mensagens de saída da transformação de mudança de evento de grupo.window-transformation-records: tipo de destino para as mensagens de saída da transformação de janela.
Para ativar uma transformação, a transformação especificada deve ser selecionada na interface da web Tipo ou associada ao Tipo usando o endpoint de API Configuration.
Como listar transformações disponíveis
Para conferir a lista de transformações disponíveis em qualquer sistema MDE, siga estas etapas:
REST
Há um endpoint dedicado da API Configuration Manager para listar as transformações disponíveis:
GET /configuration/v1/transformations
Ele retorna o seguinte JSON com as transformações disponíveis e suas capacidades:
{
"transformations": [
{
"name": "eventChange",
"displayName": "MDE Event Change",
"description": "Monitors the value of one or more tag that has a common group key. Fires an event whenever any of the contributing tags changes its value",
"disabled": false,
"sample": {
"keyExpression": {
"displayName": "Key Expression",
"description": "A SpEL expression that extracts the group key from the MDE message.proto which groups one or more tags as one unit whose values will be monitored for a change. The key must evaluate to a string",
"value": "#message['tagName']"
},
"valueExpression": {
"displayName": "Value Expression",
"description": "A SpEL expression that extracts the value from the MDE message.proto to be monitored for a change. The value must evaluate to a string",
"value": "#message['data']['numeric'].toString()"
}
}
},
{
"name": "window",
"displayName": "MDE Numeric Value Windowing",
"description": "Create a periodic stats event that provides values such as average, min, and max for an expression that extracts a numeric value from the tag messages",
"disabled": false,
"sample": {
"durationMinutes": {
"displayName": "Window Duration in Minutes",
"description": "A positive integer that represents how long the window will summarize events before producing the summary tag, this is in the granularity of minutes and it cannot be higher than 2 hours",
"value": "1"
},
"valueExpression": {
"displayName": "Value Expression",
"description": "A SpEL expression that extracts the value from the MDE message.proto to be used as the numeric value of the tags that will be summarized. The value must evaluate to a number, and it's internally out",
"value": "#message['data']['numeric']"
},
"id": {
"displayName": "Window Unique ID",
"description": "A unique ID that represents this instance of the window transformation, this should be unique if you are adding multiple instances of the window transformation to the same type",
"value": "1-min-window"
}
}
}
]
}
Console
Na interface da Web, em Tipos, abra o menu Editar versão do tipo para um tipo específico e expanda a seção Transformar e conectar do painel.

Associar uma transformação a um tipo
Associar um tipo a uma transformação disponível transforma todas as tags desse tipo. O resultado da transformação é ingerido como novas tags no MDE dos Tipos transformados. Os nomes de tag transformados têm um novo nome derivado do nome de tag original e do nome da transformação.
Estas são as etapas para associar um tipo a uma transformação:
REST
Para associar uma transformação a um determinado tipo, chame o método PATCH
neste endpoint da API Configuration Manager:
PATCH /configuration/v1/types/TYPE_NAME/versions/VERSION_NUMBER
O corpo da solicitação precisa conter a lista de transformações a serem anexadas ao tipo e o valor dos parâmetros de configuração:
{
"transformations": [
{
"window": {
"id": "WINDOW_TRANSFORMATION_IDE",
"durationMinutes": WINDOW_TRANSFORMATION_MINUTES,
"valueExpression": "VALUE_EXPRESSION_VALUE"
}
},
{
"eventChange": {
"keyExpression": "KEY_EXPRESSION_VALUE",
"valueExpression": "VALUE_EXPRESSION_VALUE"
}
}
]
}
Substitua os seguintes itens na chamada de exemplo anterior:
TYPE_NAME: o nome do tipo a ser modificado.VERSION_NUMBER: a versão do tipo a ser modificada.
Substitua os seguintes itens no corpo para configurar uma transformação de janela:
WINDOW_TRANSFORMATION_ID: um identificador exclusivo da transformação que também será anexado aos nomes das tags originais depois de serem processados pela transformação.WINDOW_TRANSFORMATION_MINUTES: a duração, em minutos, da janela a ser aplicada.VALUE_EXPRESSION_VALUE: o elemento do proto de tag que será monitorado como campo de valor. Para uma tag numérica padrão, é#message['data']['numeric'].
Substitua os seguintes itens no Corpo para configurar uma transformação de mudança de evento:
KEY_EXPRESSION_VALUE: o elemento no proto de tag usado para agrupar tags que precisam ser monitoradas juntas. Para monitorar uma única tag, use#message['tagName']VALUE_EXPRESSION_VALUE: o elemento no proto de tag usado para monitorar a mudança de valor. Precisa ser resolvido para umString. Em uma tag numérica padrão, é#message['data']['numeric'].toString().
Console
Para associar uma transformação a um tipo, abra a seção da interface da Web Editar versão do tipo na guia Tipo.
Expanda a seção Transformar e conectar:

Para adicionar uma transformação, selecione a transformação necessária na lista e clique em ADICIONAR:

Em seguida, informe os parâmetros obrigatórios e clique em SALVAR:

Para a Transformação Window, os parâmetros são:
WINDOW_TRANSFORMATION_ID: um identificador exclusivo da transformação que também será anexado aos nomes das tags originais depois de serem processados pela transformação.WINDOW_TRANSFORMATION_MINUTES: a duração, em minutos, da janela a ser aplicada.VALUE_EXPRESSION_VALUE: o elemento do proto de tag que será monitorado como campo de valor. Para uma tag numérica padrão, é#message['data']['numeric'].
Para a Transformação de mudança de evento, os parâmetros são:
KEY_EXPRESSION_VALUE: o elemento no proto de tag usado para agrupar tags que precisam ser monitoradas juntas. Para monitorar uma única tag, use#message['tagName']VALUE_EXPRESSION_VALUE: o elemento no proto de tag usado para monitorar a mudança de valor. Precisa ser resolvido para umString. Em uma tag numérica padrão, é#message['data']['numeric'].toString().