FTP

Discover more about the FTP component and how to use it on the Digibee Integration Platform.

FTP allows the establishment of a connection with a service that supports the FTP (File Transfer Protocol) protocol and the execution of the Upload, Delete, Download, List or Move operations.

The FTP component does not work through VPN (Virtual Private Network). An FTP directory will be accessible in the pipeline only if it is exposed on the internet, and VPN networks are not exposed by definition.

Parameters

Take a look at the configuration parameters of the component. Parameters supported by Double Braces expressions are marked with (DB).

ParameterDescriptionDefault valueData type

FTP Server Operating System

Operational system type the FTP runs.

Unix

String

Account

For the component to make authentication to an FTP service, it's necessary to use a BASIC-type account.

N/A

String

Host

Name of the host or IP address to establish the connection.

ftp.server.com.br

String

Port

Number of the port.

21 for FTP, 990 for FPTS

Integer

Operation

Operation to be executed, which can be Upload, Download, List, Delete, or Move.

Upload

String

File Name (DB)

File name or full file path of the local file (i.e. tmp/processed/file.txt).

local-test.pdf

String

Remote File Name (DB)

File name or full file path of the remote file (e.g., tmp/file.txt).

test.pdf

String

Remote File Name Move (DB)

Remote file name for the move directory or full file path (i.e. tmp/processed/file.txt).

N/A

String

Remote Directory

Mandatory field. Base remote directory, which can be related (e.g., pub/tmp) or absolute (e.g., /root/pub).

Folder

String

Binary File

If "true," the file's transfer will be made in binary mode (TYPE I or Image); if "false," the simple text mode (TYPE A or ASCII) will be used.

True

Boolean

Connection Timeout

Time for the connection with the server to expire (in milliseconds).

30000

Integer

Data Timeout

Time for the transfer of each file to expire (in milliseconds).

30000

Integer

Fail On Error

If the option is enabled, the execution of the pipeline with an error will be interrupted; otherwise, the pipeline execution proceeds, but the result will show a false value for the “success” property.

False

Boolean

FTP Security

If the option is activated, the FTP is accessed in secure FTPS mode (FTP-SSL or FTP Secure).

False

Boolean

SSL

If the option is activated, the FTP is accessed with the cryptographic SSL protocol (Secure Sockets Layer).

False

Boolean

Implicit

If the option is activated, the SSL connection is established through the 990 port even before the login or the file transfer.

False

Boolean

Local Passive Mode

If the option is active, it is expected that the session between client and server must be passive.

False

Boolean

Remote Verification

If the option is activated, it allows the verification of the remote host to confirm if the connected host is the same host that is attached to the control connection.

False

Boolean

Security Protocol

Security protocol type to be used - SSL (Secure Sockets Layer) or TLS (Transport Layer Security).

TLS

String

Type Exec Protocol

Private, clear, confidential, or safe.

Private

String

Buffer Size

Buffer size of the safe data channel.

0

Integer

Use Dynamic Account

When the option is active, the component will use the account dynamically. When deactivated, it will use the account statically.

False

Boolean

Account Name

Account name to be set. The name of the account is generated dynamically via the Store Account component.

N/A

String

Scoped

When the option is active, the stored account is isolated from other sub-processes. In that case, sub-processes will see their own version of the stored account data. To know more about the Scoped feature, check out the Dynamic Accounts documentation.

False

Boolean

Currently, the Use Dynamic Account, Account Name and Scoped parameters can only be used in Pipeline Engine v2 and are only available in the Restricted Beta phase. To learn more about it, read the article Beta program.

Messages flow

Output

When executing an FTP component using the Download, Upload or Move operations, the following JSON structure will be generated:

{
    "status": {
        "success": true,
        "content": [{
            "symbolicLink": false,
            "name": "file.pdf",
            "type": 0,
            "size": 144089,
            "directory": false,
            "file": true,
            "timestamp": 1544726460000,
            "unknown": false,
            "rawListing": "-rw-rw---- 1 user 10002 144089 Dec 13 16:41 file.pdf",
            "link": null,
            "hardLinkCount": 1,
            "user": "user",
            "group": "10002"}
        ]
    }
}
  • fileName: name of the local file.

  • remoteFileName: path of the remote file or related path of the remote file.

  • remoteDirectory: path of the base remote directory (related or absolute).

  • success: "true" if the operation was successful, "false" if otherwise.

When executing an FTP component using the List operation, the following JSON structure will be generated:

{
     "remoteDirectory": "pub/example",
     "success": true,
     "content": [
     {
          "file": "imap-console-client.png"
     }]
}
  • remoteDirectory: path of the base remote directory (related or absolute).

  • success: "true" if the operation was successful, "false" if otherwise.

  • content: list of files in the "remoteDirectory".

  • file: name of the file.

The manipulation of files inside a pipeline occurs in a protected way. The files become available in a temporary directory that only the pipeline under execution has access to.

To understand how the messages flow work in the Digibee Integration Platform, read the Messages processing documentation.

Last updated