Zum Inhalt springen

File Format-Konnektor

Die File Format-Konnektoren parsen und serialisieren strukturierte Textformate, die in Payload-Feldern eingebettet sind. Jeder Konnektor liest von inputKey und schreibt das Ergebnis nach outputKey; alle anderen Payload-Felder werden unverändert durchgereicht.

Konnektor-Typen: CsvProcessor, XmlProcessor

Liest einen CSV-String von inputKey und schreibt einen strukturierten Wert nach outputKey.

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

Mit hasHeader: true ist die Ausgabe ein Array von map[string]string, gekennzeichnet nach der Header-Zeile. Mit hasHeader: false ist die Ausgabe ein Array von Arrays ([][]string).

Liest ein Array-von-Arrays von inputKey und schreibt den CSV-String nach outputKey.

{
"type": "CsvProcessor",
"config": {
"direction": "serialize",
"delimiter": ";",
"inputKey": "rows",
"outputKey": "csv_text"
}
}
  • direction (erforderlich): parse oder serialize
  • inputKey (erforderlich): Payload-Schlüssel, der den Quellwert hält
  • outputKey (erforderlich): Payload-Schlüssel, in den das Ergebnis geschrieben wird
  • delimiter: Einzelzeichen-Feld-Trennzeichen (Standard ,)
  • hasHeader: Wenn true während parse, wird die erste Zeile als Spaltennamen behandelt
  1. Legacy-CSV-Exporte aufnehmen aus MES- oder SCADA-Systemen
  2. XML-basierte industrielle Protokolle überbrücken zu JSON-nativen nachgelagerten Konnektoren
  3. CSV-Dateien ausgeben an S3 oder lokalen Speicher für Berichte
  4. Inline-Parsing von CSV-/XML-Payloads, die über MQTT oder HTTP empfangen werden
{
"type": "CsvProcessor",
"config": {
"direction": "parse",
"delimiter": ",",
"hasHeader": true,
"inputKey": "body",
"outputKey": "records"
}
}

Kombiniert mit einer HTTP-Quelle wandelt dies ein eingehendes CSV-Upload in ein strukturiertes records-Array um, das in Transform, Validation oder einen Datenbank-Sink eingespeist werden kann.

  • Für CSV mit nicht-standardmäßigen Trennzeichen (;, \t, |) delimiter explizit setzen
  • Immer hasHeader: true setzen, wenn nachgelagerte Konnektoren Spalten nach Namen referenzieren
  • Für tief verschachteltes XML den Parser mit Transform unter Verwendung von JSONPath verfolgen, um bestimmte Pfade zu extrahieren
  • Den Rohtext in einem dedizierten Schlüssel (z.B. raw_csv) halten, damit das Original erhalten bleibt, falls eine nachgelagerte Stufe scheitert
  • Transform - Werte über JSONPath nach dem Parsen extrahieren
  • Reshape - Geparste Felder umbenennen oder neu zuordnen
  • Protocol Translator - Zwischen strukturierten Formaten konvertieren