Ir al contenido

Conector File Format

Los conectores File Format parsean y serializan formatos de texto estructurados embebidos dentro de campos de la carga. Cada conector lee desde inputKey y escribe el resultado en outputKey; todos los demás campos de la carga se pasan sin cambios.

Tipos de Conector: CsvProcessor, XmlProcessor

Lee una cadena CSV desde inputKey y escribe un valor estructurado en outputKey.

{
"type": "CsvProcessor",
"config": {
"direction": "parse",
"delimiter": ",",
"hasHeader": true,
"inputKey": "raw_csv",
"outputKey": "rows"
}
}

Con hasHeader: true, la salida es un array de map[string]string con clave por la fila de cabecera. Con hasHeader: false, la salida es un array de arrays ([][]string).

Lee un array de arrays desde inputKey y escribe la cadena CSV en outputKey.

{
"type": "CsvProcessor",
"config": {
"direction": "serialize",
"delimiter": ";",
"inputKey": "rows",
"outputKey": "csv_text"
}
}
  • direction (obligatorio): parse o serialize
  • inputKey (obligatorio): Clave de la carga que contiene el valor fuente
  • outputKey (obligatorio): Clave de la carga en la que escribir el resultado
  • delimiter: Delimitador de campo de un solo carácter (por defecto ,)
  • hasHeader: Cuando es true durante parse, trata la primera fila como nombres de columna
  1. Ingestar exportaciones CSV heredadas desde sistemas MES o SCADA
  2. Hacer de puente entre protocolos industriales basados en XML y conectores descendentes nativos de JSON
  3. Emitir archivos CSV a S3 o almacenamiento local para informes
  4. Parseo en línea de cargas CSV/XML recibidas por MQTT o HTTP
{
"type": "CsvProcessor",
"config": {
"direction": "parse",
"delimiter": ",",
"hasHeader": true,
"inputKey": "body",
"outputKey": "records"
}
}

Combinado con una fuente HTTP, esto convierte una carga CSV entrante en un array records estructurado que puede alimentar a Transform, Validation o un sumidero de base de datos.

  • Para CSV con delimitadores no estándar (;, \t, |), define delimiter explícitamente
  • Define siempre hasHeader: true cuando los conectores descendentes referencian columnas por nombre
  • Para XML profundamente anidado, encadena el parser con Transform usando JSONPath para extraer rutas específicas
  • Conserva el texto crudo en una clave dedicada (ej. raw_csv) para preservar el original si una etapa descendente falla