A component to read and write Comma Separated Values (CSV) files.
The component can read the CSV file from a remote URL or from the message attachment. It can also write a CSV file from the incoming events.
Name | Mandatory | Description | Values |
---|---|---|---|
EIO_REQUIRED_RAM_MB | false | Value of allocated memory to component | Recommended: 512 /1024 |
REQUEST_TIMEOUT | false | HTTP request timeout in milliseconds | Default value: 10000 |
REQUEST_RETRY_DELAY | false | Delay between retry attempts in milliseconds | Default value: 7000 |
REQUEST_MAX_RETRY | false | Number of HTTP request retry attempts | Default value: 7 |
REQUEST_MAX_CONTENT_LENGTH | false | Max size of http request in bytes | Default value: 10485760 |
TIMEOUT_BETWEEN_EVENTS | false | Number of milliseconds write action wait before creating separate attachments | Default value: 10000 |
The component does not require credentials to function.
This action will read the CSV attachment of the incoming message or from the specified URL and output a JSON object. To configure this action the following fields can be used:
Emit Behavior
- this selector configures output behavior of the component. If the option isFetch All
- the component emits an array of messages, otherwise (Emit Individually
) - the component emits a message per row.
URL
- We will fetch this URL and parse it as CSV fileContains headers
- if true, the first row of parsed data will be interpreted as field names, false by default.Delimiter
- The delimiting character. Leave blank to auto-detect from a list of most common delimiters.Convert Data types
- numeric, date and boolean data will be converted to their type instead of remaining strings, false by default.
This action will combine multiple incoming events into a CSV file until there is a gap of more than 10 seconds between events. Afterwards, the CSV file will be closed and attached to the outgoing message.
Upload CSV as file to attachments
- If checked store the generated CSV data as an attachment. If unchecked, place the CSV as a string in the outbound message.Separator
- A single char used to delimit the CSV file. Default to,
Column Order
- A string delimited with the separator indicating which columns & in what order the columns should appear in the resulting file. If omitted, the column order in the resulting file will not be deterministic. Columns names will be trimmed (removed spaces in beginning and end of column name, for example: 'col 1,col 2 ,col 3, col 4' => ['col 1', 'col 2', 'col 3', 'col 4'])
Include Headers
- Indicates if a header row should be included in the generated file.Input Object
- Object to be written as a row in the CSV file. If the Column Order is specified, then individual properties can be specified.
-
If Upload CSV as file to attachments is checked:
csvString
- The output CSV as a string inline in the body
-
If Upload CSV as file to attachments is not checked:
attachmentUrl
- A URL to the CSV outputtype
- Always set to.csv
size
- Size in bytes of the resulting CSV fileattachmentCreationTime
- When the attachment was generatedattachmentExpiryTime
- When the attachment is set to expirecontentType
- Always set totext/csv
This action will convert an incoming array into a CSV file
Upload CSV as file to attachments
- If checked store the generated CSV data as an attachment. If unchecked, place the CSV as a string in the outbound message.Separator
- A single char used to delimit the CSV file. Default to,
Column Order
- A string delimited with the separator indicating which columns & in what order the columns should appear in the resulting file. If omitted, the column order in the resulting file will not be deterministic.
Include Headers
- Indicates if a header row should be included in the generated file.Input Array
- Array of objects to be written as rows in the CSV file. (One row per object + headers) If the Column Order is specified, then individual properties can be specified. The component will throw an error when the array is empty.
-
If Upload CSV as file to attachments is checked:
csvString
- The output CSV as a string inline in the body
-
If Upload CSV as file to attachments is not checked:
attachmentUrl
- A URL to the CSV outputtype
- Always set to.csv
size
- Size in bytes of the resulting CSV fileattachmentCreationTime
- When the attachment was generatedattachmentExpiryTime
- When the attachment is set to expirecontentType
- Always set totext/csv
- You may get
Component run out of memory and terminated.
error during run-time, that means that component needs more memory, please addEIO_REQUIRED_RAM_MB
environment variable with an appropriate value (e.g. value1024
means that 1024 MB will be allocated) for the component in this case. - Maximal possible size for an attachment is 10 MB.
- Attachments mechanism does not work with Local Agent Installation
- Inbound message in
Message Stream
and each element ofJSON Array
should be a plain Object, if value not a primitive type it will be set as[object Object]