コンテンツにスキップ

File Formatコネクタ

File Formatコネクタは、ペイロードフィールド内に埋め込まれた構造化テキスト形式をパースおよびシリアライズします。各コネクタはinputKeyから読み取り、結果をoutputKeyに書き込みます。他のすべてのペイロードフィールドは変更されずにパススルーされます。

コネクタタイプ: CsvProcessorXmlProcessor

inputKeyからCSV文字列を読み取り、outputKeyに構造化された値を書き込みます。

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

hasHeader: trueの場合、出力はヘッダー行をキーとするmap[string]stringの配列です。hasHeader: falseの場合、出力は配列の配列([][]string)です。

inputKeyから配列の配列を読み取り、outputKeyにCSV文字列を書き込みます。

{
"type": "CsvProcessor",
"config": {
"direction": "serialize",
"delimiter": ";",
"inputKey": "rows",
"outputKey": "csv_text"
}
}
  • direction(必須):parseまたはserialize
  • inputKey(必須):ソース値を保持するペイロードキー
  • outputKey(必須):結果を書き込むペイロードキー
  • delimiter: 単一文字のフィールド区切り文字(デフォルト ,
  • hasHeader: parse中にtrueの場合、最初の行を列名として扱う
  1. MESまたはSCADAシステムからレガシーCSVエクスポートを取り込む
  2. XMLベースの産業プロトコルをJSONネイティブのダウンストリームコネクタにブリッジ
  3. レポート用にS3またはローカルストレージにCSVファイルを出力
  4. MQTTまたはHTTP経由で受信したCSV/XMLペイロードのインラインパース
{
"type": "CsvProcessor",
"config": {
"direction": "parse",
"delimiter": ",",
"hasHeader": true,
"inputKey": "body",
"outputKey": "records"
}
}

HTTPソースと組み合わせると、受信したCSVアップロードが構造化されたrecords配列に変換され、Transform、Validation、またはデータベースシンクに供給できます。

  • 非標準の区切り文字(;\t|)を持つCSVの場合、delimiterを明示的に設定
  • ダウンストリームコネクタが列を名前で参照する場合は、常にhasHeader: trueを設定
  • 深くネストされたXMLの場合、JSONPathを使用して特定のパスを抽出するためにTransformを続ける
  • ダウンストリームステージが失敗した場合に元のデータが保持されるように、生のテキストを専用キー(例:raw_csv)に保持
  • Transform - パース後にJSONPathで値を抽出
  • Reshape - パースされたフィールドの名前変更や再マッピング
  • Protocol Translator - 構造化形式間の変換