File Format-Konnektor
Übersicht
Abschnitt betitelt „Übersicht“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
Parse-Modus
Abschnitt betitelt „Parse-Modus“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).
Serialize-Modus
Abschnitt betitelt „Serialize-Modus“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" }}Konfigurationsparameter
Abschnitt betitelt „Konfigurationsparameter“- direction (erforderlich):
parseoderserialize - 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
truewährendparse, wird die erste Zeile als Spaltennamen behandelt
Parse-Modus
Abschnitt betitelt „Parse-Modus“Liest einen XML-String von inputKey und schreibt eine verschachtelte Map nach outputKey. Textinhalt wird unter dem _text-Schlüssel gespeichert, wenn Elemente gemischte Kinder enthalten.
{ "type": "XmlProcessor", "config": { "direction": "parse", "inputKey": "raw_xml", "outputKey": "parsed" }}Serialize-Modus
Abschnitt betitelt „Serialize-Modus“Liest eine Map von inputKey und schreibt einen XML-String nach outputKey, eingehüllt in rootElement.
{ "type": "XmlProcessor", "config": { "direction": "serialize", "inputKey": "data", "outputKey": "xml_text", "rootElement": "report" }}Konfigurationsparameter
Abschnitt betitelt „Konfigurationsparameter“- direction (erforderlich):
parseoderserialize - inputKey (erforderlich): Payload-Schlüssel, der den Quellwert hält
- outputKey (erforderlich): Payload-Schlüssel, in den das Ergebnis geschrieben wird
- rootElement: Root-Tag, das serialisierte Ausgabe umhüllt (Standard
root)
Anwendungsfälle
Abschnitt betitelt „Anwendungsfälle“- Legacy-CSV-Exporte aufnehmen aus MES- oder SCADA-Systemen
- XML-basierte industrielle Protokolle überbrücken zu JSON-nativen nachgelagerten Konnektoren
- CSV-Dateien ausgeben an S3 oder lokalen Speicher für Berichte
- Inline-Parsing von CSV-/XML-Payloads, die über MQTT oder HTTP empfangen werden
Beispiel: CSV-Aufnahme-Pipeline
Abschnitt betitelt „Beispiel: CSV-Aufnahme-Pipeline“{ "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.
Best Practices
Abschnitt betitelt „Best Practices“- Für CSV mit nicht-standardmäßigen Trennzeichen (
;,\t,|)delimiterexplizit setzen - Immer
hasHeader: truesetzen, 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
Verwandte Konnektoren
Abschnitt betitelt „Verwandte Konnektoren“- Transform - Werte über JSONPath nach dem Parsen extrahieren
- Reshape - Geparste Felder umbenennen oder neu zuordnen
- Protocol Translator - Zwischen strukturierten Formaten konvertieren