Aggiungere una trasformazione a un tipo
Questa guida descrive come aggiungere una trasformazione a un determinato tipo in Manufacturing Data Engine (MDE).
Scegliere una trasformazione
In MDE sono disponibili diverse trasformazioni. Il pacchetto di configurazione predefinito fornisce due trasformazioni che possono essere associate a uno qualsiasi dei tipi disponibili in questo pacchetto di configurazione predefinito:
- Trasformazione Modifica evento di gruppo: questa trasformazione monitora qualsiasi campo in un tag o in un gruppo di tag e genera un evento ogni volta che i valori monitorati cambiano in uno qualsiasi di questi tag. Questa trasformazione può essere associata a un tipo di qualsiasi archetipo.
- Trasformazione Windowing: questa trasformazione applica una funzione Windowing a tutti i tag di un tipo. Il windowing si riferisce al riepilogo di più record in un periodo di tempo in un unico record. La trasformazione di finestratura può essere associata a qualsiasi tipo di qualsiasi archetipo. Può riassumere i record dei tag da 1 minuto a 60 minuti. Il risultato della Trasformazione è un messaggio non elaborato contenente i valori di riepilogo per l'espressione di valore durante il periodo di tempo selezionato.
Il pacchetto di configurazione predefinito fornisce le classi di messaggi, i parser e i tipi necessari per elaborare i messaggi non elaborati emessi da queste due trasformazioni. I due tipi forniti per elaborare i messaggi non elaborati generati da ogni trasformazione sono i seguenti:
group-event-change-records: il tipo di destinazione per i messaggi di output della trasformazione Modifica evento di gruppo.window-transformation-records: il tipo di destinazione per i messaggi di output della trasformazione di finestre.
Per attivare una trasformazione, la trasformazione specificata deve essere selezionata nell'interfaccia web Type o associata al tipo utilizzando l'endpoint API Configuration.
Elenco delle trasformazioni disponibili
Per esplorare l'elenco delle trasformazioni disponibili in qualsiasi sistema MDE, segui questi passaggi:
REST
Esiste un endpoint API Configuration Manager dedicato per elencare le trasformazioni disponibili:
GET /configuration/v1/transformations
Restituisce il seguente JSON con le trasformazioni disponibili e le relative funzionalità:
{
"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
Utilizzando l'interfaccia web, nella sezione "Tipi ", apri il menu Modifica versione tipo per un determinato tipo ed espandi la sezione Trasforma e connetti del riquadro.

Associare una trasformazione a un tipo
L'associazione di un tipo esistente a una trasformazione disponibile trasforma tutti i tag di quel tipo. Il risultato della trasformazione viene importato come nuovi tag in MDE dei tipi trasformati. I nomi dei tag trasformati hanno un nuovo nome derivato dal nome del tag originale e dal nome della trasformazione.
Per associare un tipo a una trasformazione:
REST
Per associare una trasformazione a una determinata chiamata di tipo, chiama il metodo PATCH
in questo endpoint dell'API Configuration Manager:
PATCH /configuration/v1/types/TYPE_NAME/versions/VERSION_NUMBER
Il corpo della richiesta deve contenere l'elenco delle trasformazioni da allegare al tipo e il valore dei relativi parametri di configurazione:
{
"transformations": [
{
"window": {
"id": "WINDOW_TRANSFORMATION_IDE",
"durationMinutes": WINDOW_TRANSFORMATION_MINUTES,
"valueExpression": "VALUE_EXPRESSION_VALUE"
}
},
{
"eventChange": {
"keyExpression": "KEY_EXPRESSION_VALUE",
"valueExpression": "VALUE_EXPRESSION_VALUE"
}
}
]
}
Sostituisci i seguenti elementi nella chiamata di esempio precedente:
TYPE_NAME: il nome del tipo da modificare.VERSION_NUMBER: la versione del tipo da modificare.
Sostituisci i seguenti elementi nel corpo per configurare una trasformazione finestra:
WINDOW_TRANSFORMATION_ID: un identificatore univoco della trasformazione che verrà allegato anche ai nomi dei tag originali dopo essere stato elaborato dalla trasformazione.WINDOW_TRANSFORMATION_MINUTES: la durata, in minuti, della finestra da applicareVALUE_EXPRESSION_VALUE: l'elemento del proto del tag che verrà monitorato come campo valore. Per un tag predefinito numerico è#message['data']['numeric'].
Sostituisci i seguenti elementi nel corpo per configurare una trasformazione di modifica dell'evento:
KEY_EXPRESSION_VALUE: l'elemento nel proto del tag utilizzato per raggruppare i tag da monitorare insieme. Per monitorare un singolo tag deve essere#message['tagName']VALUE_EXPRESSION_VALUE: l'elemento nel proto del tag utilizzato per monitorare la modifica del valore. Deve essere risolto in unString. In un tag predefinito numerico è#message['data']['numeric'].toString().
Console
Per associare una trasformazione a un tipo, apri la sezione dell'interfaccia web "Modifica versione tipo" nella scheda "Tipo".
Espandi la sezione Trasforma e connetti:

Per aggiungere una trasformazione, seleziona quella che ti serve dall'elenco e fai clic su "AGGIUNGI":

Quindi, fornisci i parametri richiesti e fai clic su "SALVA":

Per la Trasformazione finestra, i parametri sono:
WINDOW_TRANSFORMATION_ID: un identificatore univoco della trasformazione che verrà allegato anche ai nomi dei tag originali dopo essere stato elaborato dalla trasformazione.WINDOW_TRANSFORMATION_MINUTES: la durata, in minuti, della finestra da applicareVALUE_EXPRESSION_VALUE: l'elemento del proto del tag che verrà monitorato come campo valore. Per un tag predefinito numerico è#message['data']['numeric'].
Per la trasformazione della modifica dell'evento, i parametri sono:
KEY_EXPRESSION_VALUE: l'elemento nel proto del tag utilizzato per raggruppare i tag da monitorare insieme. Per monitorare un singolo tag deve essere#message['tagName']VALUE_EXPRESSION_VALUE: l'elemento nel proto del tag utilizzato per monitorare la modifica del valore. Deve essere risolto in unString. In un tag predefinito numerico è#message['data']['numeric'].toString().