FTP Node Configuration Guide

The FTP Node enables a Rayven workflow to retrieve and ingest files from an FTP or SFTP server. It periodically scans a specified location, downloads new files, parses their contents, and emits each parsed entry as a payload.

What It Does

This node connects to a remote file server (FTP/SFTP), downloads files on a recurring schedule, and parses them based on the selected format (e.g., JSON). It supports UID mapping, timestamp extraction, and output filtering, allowing workflows to respond to externally uploaded datasets or logs.


Step-by-Step: How to Configure the FTP Node

  1. Add the node

    • Drag the FTP Node from the Inputs section to your workflow canvas.

  2. Open the configuration panel

    • Double-click the node to configure connection, timing, and extraction logic.

  3. Connect downstream nodes

    • Attach to logic, transformation, or storage nodes that consume the parsed data.


Configuration Fields

FTP Connection

Field Requirement Description
Node Name* Required Logical identifier used in the workflow.
FTP Address* Required FTP/SFTP server address (e.g., ftp.example.com).
Username* Required FTP/SFTP login username.
Password* Required FTP/SFTP login password.
Enable SFTP Optional When enabled, uses SFTP (SSH File Transfer Protocol).
Allow File from Email Address Optional Accept files from emails if supported by the FTP implementation.
 

 File Polling & Download Settings

Field Requirement Description
File Format* Required Format of the file (currently: JSON).
File Encoding* Required Character encoding (e.g., UTF-8, ASCII).
Interval Between Output Payloads (ms) Optional Throttle output by delaying emission of each payload. Default: 200 ms.
File Download Interval (minutes)* Required Frequency at which the server is polled for new files.
Download Start Date & Time* Required Scheduled time to begin file download each day.
Download Start Time Zone Optional Time zone to interpret the download start time.
Skip If Filename Same As Previous Optional Prevents duplicate ingestion when filenames match the last processed file.
Ingest All Files in Folder Optional When enabled, all available files are downloaded at each interval.
 

Data Extraction & Filtering

Field Description
Ignore First N Lines Skips initial lines (e.g., headers) before parsing begins.
Filename Filter Only files matching the pattern will be processed (e.g., *.json).
Output JSON Key for Filename If set, includes the filename in each payload under this key.
Remove File Extension If enabled, strips file extension from filename.
UID JSON Key / Column / Tag Field used to extract device UID from the file.
Use UID IP Address Optionally use the device IP as the UID.
Call FTP Address for Each UID When enabled, makes individual FTP requests per UID.
 

Payload Date Settings (Optional)

Field Description
Timestamp JSON Key Field in the file containing the timestamp.
Timestamp Format Format of the timestamp string (e.g., yyyy-MM-dd HH:mm:ss).
Time Zone Interprets the timestamp using the given zone.
 

Activation Filters

Field Description
Logical Operand Defines how multiple filters are combined (AND or OR).
Select Data Source Filter Select UID(s) or label(s) to restrict ingestion scope.
 

Output Example

If a JSON file contains:

 
{
"device_id": "pump-001",
"pressure": 2.4,
"timestamp": "2025-07-15 08:00:00"
}

With configuration:

  • UID JSON Key = device_id

  • Timestamp JSON Key = timestamp

  • Output JSON Key for Filename = source_file

The emitted payload:

 
{
"uid": "pump-001",
"pressure": 2.4,
"timestamp": "2025-07-15T08:00:00Z",
"source_file": "log_20250715"
}

 Best Practices

  • Always enable file name filtering if the FTP folder contains mixed formats.

  • Use skip filename check to avoid reprocessing unchanged files.

  • Adjust output interval for downstream nodes that cannot handle burst input.

  • Align timestamp format and time zone with the source system for correct time alignment.


 Use Cases

  • Ingest JSON logs uploaded to FTP by remote gateways

  • Download daily batch reports and parse each row as a payload

  • Sync legacy data from secure SFTP storage

  • Integrate with external systems exporting structured files on a schedule


FAQ

Q: What happens if a file cannot be parsed?

A: The workflow will skip the file. You can inspect the raw file manually or enable logging to debug.

Q: Can this node write to FTP?

A: No. This node is for input only. Use the Export Node for outbound file transfers.

Q: Does the node delete files after processing?

A: No. Files remain on the server unless removed externally or by a retention policy.