FTP/FTPS v2
The FTP/FTPS Node reads, writes, copies, moves, deletes, inspects, and lists files on remote FTP servers with optional SSL or TLS encryption.
Revision History
0.0.0.1 - Initial release.
0.0.0.3 - Project restructure.
0.0.0.5 - SupportedCluster update.
0.0.0.10 - Node name correction.
0.0.0.22 - Published the file-operation contract.
0.0.0.23 - Updated the Node icon.
0.0.0.26 - Added FTPS server-certificate pinning and mutual TLS client certificates.
0.1.1.0 - Added List method.
0.1.1.1 - Fixed template methods.
Connection
The Connection stores the remote server address, authentication details, and FTP or FTPS transport settings.
| Property | Type | Description |
|---|---|---|
Host |
String | Host name or IP address of the remote server. |
Port |
Integer | Port to connect to. The default is 21. |
Use Passive |
Boolean | When true, FTP connections use passive mode. |
Enable SSL/TLS |
Boolean | Enables explicit FTPS encryption for FTP connections. |
Ignore Certificate Errors |
Boolean | Ignores SSL certificate errors for FTPS connections. |
Server Certificate |
Certificate | Public certificate used to pin the remote FTPS server identity. |
Timeout (seconds) |
Integer | Time to wait for the server before timing out. |
Username |
String | Username used to authenticate with the server. |
Password |
Masked | Password used to authenticate with the server. |
Client Certificate |
Certificate | X.509 certificate containing the private key presented for mutual TLS authentication. |
Setup Notes
Use Enable SSL/TLS when the server expects FTPS, and only enable Ignore Certificate Errors when you explicitly accept that trust tradeoff.
Server Certificate and Client Certificate require Enable SSL/TLS. The client certificate must contain its private key. When Server Certificate is configured, the Node accepts the server only when the presented public key matches the configured certificate.
Remote paths are normalized to use forward slashes, so provide the server path exactly as the remote system expects it.
Methods
The FTP/FTPS Node exposes file operations and filtered directory listings against one remote FTP or FTPS server.
Read
Reads a file from the remote server and returns its content as a stream.
| Parameter | Type | Description |
|---|---|---|
Connection |
Connection | FTP or FTPS Connection profile. |
Path |
String | Path of the remote file to read. |
| Return | Type | Description |
|---|---|---|
Content |
Stream | Stream containing the remote file content. |
Write
Writes content to a file on the remote server and can replace an existing file when requested.
| Parameter | Type | Description |
|---|---|---|
Connection |
Connection | FTP or FTPS Connection profile. |
Path |
String | Path of the remote file to write. |
Content |
Stream | Content stream to upload. |
Overwrite Existing |
Boolean | When true, an existing remote file is replaced. |
| Return | Type | Description |
|---|---|---|
None |
None | This method does not emit output values. |
Copy
Copies a file to another location on the same remote server and can replace an existing destination file.
| Parameter | Type | Description |
|---|---|---|
Connection |
Connection | FTP or FTPS Connection profile. |
Path |
String | Path of the remote file to copy. |
Destination |
String | Destination folder on the remote server. |
Overwrite Existing |
Boolean | When true, an existing destination file is replaced. |
| Return | Type | Description |
|---|---|---|
None |
None | This method does not emit output values. |
Move
Moves a file to another location on the same remote server and can replace an existing destination file.
| Parameter | Type | Description |
|---|---|---|
Connection |
Connection | FTP or FTPS Connection profile. |
Path |
String | Path of the remote file to move. |
Destination |
String | Destination folder on the remote server. |
Overwrite Existing |
Boolean | When true, an existing destination file is replaced. |
| Return | Type | Description |
|---|---|---|
None |
None | This method does not emit output values. |
Delete
Deletes a file from the remote server.
| Parameter | Type | Description |
|---|---|---|
Connection |
Connection | FTP or FTPS Connection profile. |
Path |
String | Path of the remote file to delete. |
| Return | Type | Description |
|---|---|---|
None |
None | This method does not emit output values. |
Info
Retrieves metadata for a file stored on the remote server.
| Parameter | Type | Description |
|---|---|---|
Connection |
Connection | FTP or FTPS Connection profile. |
Path |
String | Path of the remote file to inspect. |
| Return | Type | Description |
|---|---|---|
Metadata |
Object | Metadata for the selected remote file or folder. |
List
Lists files in a remote directory using a wildcard filter and bounded subdirectory traversal.
| Parameter | Type | Description |
|---|---|---|
Connection |
Connection | FTP or FTPS Connection profile. |
DirectoryPath |
String | Path of the remote directory containing the files to list. |
Filter |
String | Wildcard expression matched against file names. The default is *. |
FolderDepthLimit |
Integer | Maximum number of subdirectory levels to traverse, from 0 to 50. Set 0 to list only the supplied directory. |
ReturnFullPath |
Boolean | When true, each item contains the full path. When false, each item contains only the file name. The default is true. |
| Return | Type | Description |
|---|---|---|
Files |
Array | Matching files sorted by path. Each item includes FilePath, the one-based CurrentRow, and TotalRows. |
The Node captures the complete listing before returning the output stream, so path, permission, and provider failures surface before downstream enumeration begins. No matches return zero rows. Only files are returned; duplicate full paths are removed before row numbers are assigned. Later file changes are not reflected in the snapshot.
Usage Notes
Use remote paths that are valid on the FTP or FTPS server. The Write, Copy, and Move methods create missing remote destination folders.
Copy and Move operate within the same remote server exposed by the Connection, so use separate steps if you need to transfer files between different servers.
The List method captures a snapshot before it returns the matching files. Use Filter and FolderDepthLimit to limit the listing.