Contenido del archivo
En esta página, se describe el contenido de cada carpeta del paquete de configuración en el paquete de Manufacturing Data Engine (MDE).
En cada carpeta de paquetes de configuración, MDE espera encontrar un archivo JSON por objeto de configuración. Si quieres crear dos buckets, debe haber dos archivos separados. Se ignoran los nombres de los archivos. Sin embargo, se recomienda nombrar los archivos según el nombre del objeto de configuración que deseas crear. El esquema JSON real para cada objeto depende del tipo de entidad de configuración que deseas crear, pero coincide con el esquema JSON de la respuesta de la API correspondiente.
Para organizar aún más el paquete de configuración, puedes hacer referencia a otros archivos JSON que se incorporarán en el archivo en un campo determinado. Por ejemplo, el siguiente JSON especifica un bucket de MDE con un esquema en el que el esquema se define en otro archivo JSON. Esto mejora la legibilidad y la capacidad de mantenimiento generales del paquete de configuración.
{
"type": "TAG",
"name": "second-tag-bucket",
"attributes": {
"instanceOverwriteMode": "true"
},
"versions": [
{
"version": 1,
"schema": "'{{schemas/generic-schema.json}}'",
"provider": "local",
}
]
}
Para hacer referencia a otro archivo, puedes usar la directiva {{relative-path/file.json}}, que contiene la ruta de acceso relativa del archivo que se debe incluir en el archivo existente. MDE resolverá el archivo y, luego, incluirá el contenido JSON como el valor del campo que tiene la directiva de referencia. El valor del campo schema en el ejemplo anterior contendrá un subobjeto JSON incorporado que coincida con el contenido del archivo.
En el caso de ciertos objetos, debes incorporar el contenido JSON como una cadena. Por ejemplo, el campo schema en el objeto de bucket requiere que el esquema del bucket se incorporé como una cadena y, en ese caso, la directiva de referencia debe estar rodeada de comillas simples ', lo que le indica a MDE que incorpore el contenido sin procesar como una cadena. La directiva de referencia será: '{{relative-path/file.json}}'.
El archivo al que se hace referencia puede estar en cualquier directorio, y puedes crear diferentes directorios para organizar los archivos. Por ejemplo, el directorio llamado schemas en el ejemplo anterior es una estructura de carpetas arbitraria para agrupar archivos comunes. Los tipos de archivos que se pueden incorporar son JSON o WSTL para los guiones de Whistle.
A continuación, se muestran ejemplos de configuraciones para cada entidad del MDE.
Bucket
En esta sección, se comparte una configuración de muestra para un bucket de MDE.
{
"type": "TAG",
"name": "second-tag-bucket",
"attributes": {
"instanceOverwriteMode": "true"
},
"versions": [
{
"version": 1,
"schema": "'{{schemas/generic-schema.json}}'",
"provider": "local"
}
]
}
Especificación de transferencia
En esta sección, se comparte una configuración de muestra para una especificación de transferencia de MDE.
{
"name": "csv-full-ingestion-specification",
"source": "CSV",
"folderName": "test-csv-folder",
"separator": ",",
"skipRows": 10,
"headers": {
"headerNames": {
"names": [
"one",
"two",
"three"
]
}
},
"insertMetadata": true,
"disabled": false
}
Clases de mensajes
En esta sección, se comparte una configuración de muestra para las clases de mensajes de MDE.
{
"name": "default-numeric-message-class",
"priority": 970,
"expression": "#root.event['value'] instanceof T(Number) && #root.event['timestamp'] != null && #root.event['tagName'] != null && #root.event['cluster'] == null"
}
Instancias de metadatos
En esta sección, se comparte una configuración de muestra para las instancias de metadatos de MDE.
{
"bucketReference": {
"bucketName": "default-tag-bucket",
"bucketType": "TAG",
"version": 1
},
"naturalKey": "cloud-natural-key",
"instance": {
"site": "simulated-site",
"factory": "test-factory"
}
}
Analizadores
En esta sección, se comparte una configuración de muestra para los analizadores de MDE.
{
"name": "default-numeric-parser",
"messageClassName": "default-numeric-message-class",
"typeReference": {
"name": "default-numeric-type",
"version": 1
},
"disabled": false,
"script": "'{{scripts/parser-script.wstl}}'"
}
Tipo
En esta sección, se comparte una configuración de muestra para un tipo de MDE.
{
"archetype": "NUMERIC_DATA_SERIES",
"name": "default-numeric-type",
"disabled": false,
"versions": [
{
"version": 1,
"dataSchema": "",
"storageSpecs": [
{
"sink": "PUBSUB_PROTO",
"disabled": true,
"materializeCloudMetadata": false
},
{
"sink": "BIG_QUERY",
"disabled": false,
"materializeCloudMetadata": true
},
{
"sink": "GCS",
"disabled": false,
"materializeCloudMetadata": false
},
{
"sink": "PUBSUB_JSON",
"disabled": true,
"materializeCloudMetadata": false
},
{
"sink": "BIG_TABLE",
"disabled": false,
"materializeCloudMetadata": false
}
],
"metadataBuckets": [
{
"bucketName": "default-record-bucket",
"version": 1,
"required": false
},
{
"bucketName": "second-tag-bucket",
"version": 1,
"required": false
},
{
"bucketName": "default-tag-bucket",
"version": 1,
"required": false
}
],
"transformations": [
{
"window": {
"id": "10-minutes-window",
"durationMinutes": 10,
"valueExpression": "#message['data']['numeric'].toString()"
}
},
{
"eventChange": {
"keyExpression": "#message['tagName']",
"valueExpression": "#message['data']['numeric'].toString()"
}
}
]
}
]
}