Documents

Read/Write data with the good document format

CSV

keyaliasDescriptionDefault ValuePossible Values
type-Required in order to use this documentcsvcsv
metadatametaMetadata describe the resourcenoneMetadata
is_flexible-If flexible is true, the application try to match the number of header's fields and the number of line's fieldstruetrue / false
quote_style-The quoting style to use when writing CSVNOT_NUMERICNOT_NUMERIC / ALWAYS / NEVER / NECESSARY
trim-Define where you trim the data. The application can trimmed fields, headers or bothALLALL / FIELDS / HEADERS

examples:

[
    {
        "type": "write",
        "document": {
            "type": "csv",
            "is_flexible": true,
            "quote_style": "NOT_NUMERIC",
            "trim": "ALL",
            "metadata": {
                "has_headers": true,
                "delimiter": ",",
                "quote": "\"",
                "escape": "\\",
                "comment": "#",
                "terminator": "\n"
            }
        }
    }
]

input/output:

"column1","column2",...
"value1","value2",...
...

Json

keyaliasDescriptionDefault ValuePossible Values
type-Required in order to use this documentjsonjson
metadatametaMetadata describe the resourcenoneMetadata
is_pretty-Display json data readable for humanfalsefalse / true
entry_path-Use this field if you want target a specific field in the json objectnoneString in json pointer format

examples:

[
    {
        "type": "read",
        "document": {
            "type": "json",
            "entry_path": "/0"
        }
    },
    {
        "type": "write",
        "document": {
            "type": "json",
            "is_pretty": true
        }
    }
]

input:

[
    {"field1":"value1"},
    {"field1":"value2"},
    ...
]

output:

[
    {
        "field1":"value1"
    }
]

Jsonl

keyaliasDescriptionDefault ValuePossible Values
type-Required in order to use this documentjsonljsonl
metadatametaMetadata describe the resourcenoneMetadata
is_pretty-Display data in readable format for humanfalsefalse / true
entry_path-Use this field if you want target a specific field in the objectnoneString in json pointer format

examples:

[
    {
        "type": "read",
        "document": {
            "type": "jsonl",
            "entry_path": "/field1"
        }
    },
    {
        "type": "write",
        "document": {
            "type": "jsonl",
            "is_pretty": true
        }
    }
]

input:

[
    { "field1":"value1", ... },
    { "field1":"value2", ... },
    ...
]

output:

value1
value2
...

Text

keyaliasDescriptionDefault ValuePossible Values
type-Required in order to use this documenttexttext
metadatametaMetadata describe the resourcenoneMetadata

examples:

[
    {
        "type": "read",
        "document": {
            "type": "text"
        },
        "connector": {
            "type": "mem",
            "data": "Hello world !!!"
        }
    }
]

input/output:

Hello world !!!

Toml

keyaliasDescriptionDefault ValuePossible Values
type-Required in order to use this documenttomltoml
metadatametaMetadata describe the resourcenoneMetadata

examples:

[
    {
        "type": "read",
        "document": {
            "type": "toml"
        }
    }
]

input/output:

[[line]]
field= value
...

Xml

keyaliasDescriptionDefault ValuePossible Values
type-Required in order to use this documentxmlxml
metadatametaMetadata describe the resourcenoneMetadata
is_pretty-Display data in readable format for humanfalsefalse / true
indent_char-Character to use for indentation in pretty modespaceSimple character
indent_size-Number of indentation to use for each line in pretty mode4unsigned number
entry_path-Use this field if you want to target a specific field in the object/root/*/itemString in json pointer format

examples:

[
    {
        "type": "read",
        "document": {
            "type": "xml",
            "is_pretty": true,
            "indet_char": " ",
            "indent_size": 4,
            "entry_path": "/root/*/item"
        }
    },
    {
        "type": "w"
    }
]

input:

<root>
    <item field1="value1"/>
    ...
</root>

output:

[{"field1":"value1"},...]

Yaml

keyaliasDescriptionDefault ValuePossible Values
type-Required in order to use this documentyamlyaml
metadatametaMetadata describe the resourcenoneMetadata

examples:

[
    {
        "type": "read",
        "document": {
            "type": "yaml"
        }
    }
]

input/output:

---
field: value
...

Metadata

By default, the metadata is manage with the document metadata but you can override it if necessary

keyDescriptionDefault ValuePossible ValuesExample
has_headersDefine if the document contain a header entrynonetrue \ falseRead/Write CSV
delimiterSpecial character to seperate fieldsnoneStringRead/Write CSV
quoteSpecial character used for quotenoneStringRead/Write CSV
escapeSpecial character used for escapenoneStringRead/Write CSV
commentSpecial character used for commentnoneStringRead/Write CSV
terminatorSpecial character used to define new linenoneStringRead/Write CSV
mime_typeMime type of the documentnoneapplication / etc...Read/Write CSV
mime_subtypeMime sub type of the documentnoneplain / octet-stream / etc...Read/Write CSV
charsetCharset of the documentnoneutf-8 / ISO-8859-1 / etc...Read/Write CSV
compressionCompression used to compress the documentnoneStringgzip
languageThe language link to the documentnoneStringSee language