File system Downloads

File system Downloads

Certified

Download multiple files from FTP

Lists matching files then downloads them to internal storage. Respects maxFiles (default 25) and optional post-download action (MOVE/DELETE). Defaults: port 21, passive mode on, remote IP verification on, paths relative to user home.

yaml
type: io.kestra.plugin.fs.ftp.Downloads

Download a list of files and move them to an archive folder

yaml
id: fs_ftp_downloads
namespace: company.team

tasks:
  - id: downloads
    type: io.kestra.plugin.fs.ftp.Downloads
    host: localhost
    port: 21
    username: foo
    password: "{{ secret('FTP_PASSWORD') }}"
    from: "/in/"
    interval: PT10S
    action: MOVE
    moveDirectory: "/archive/"
Properties

Directory URI to list

Remote host

Possible Values
MOVEDELETENONE

Action on downloaded files

Defaultfalse

Enable the RSA/SHA1 algorithm (disabled by default)

Default25

Maximum files to retrieve

Destination directory when action is MOVE

Default{ "connectionTimeout": "PT30S", "dataTimeout": "PT30S", "socketTimeout": "PT30S", "controlKeepAliveTimeout": "PT30S", "controlKeepAliveReplyTimeout": "PT30S" }

FTP client options

Definitions
connectionTimeoutstring
DefaultPT30S

Control connection timeout

Maximum time to open the control channel. Default 30s.

controlKeepAliveReplyTimeoutstring
DefaultPT30S

Keep-alive reply timeout

How long to wait for keep-alive responses before failing. Default 30s.

controlKeepAliveTimeoutstring
DefaultPT30S

Control keep-alive interval

Sends keep-alive commands during long transfers. Default 30s.

dataTimeoutstring
DefaultPT30S

Data channel timeout

Maximum time to open the data socket. Default 30s.

socketTimeoutstring
DefaultPT30S

Socket read timeout

Timeout for socket reads and writes once connected. Default 30s.

Defaulttrue

Use passive data connections

Passive mode avoids most firewall and NAT issues and is enabled by default (true). Set to false to force active mode.

Password

Reference (ref) of the pluginDefaults to apply to this task.

Default21

Remote port

FTP proxy hostname

FTP proxy port

Possible Values
DIRECTHTTPSOCKS

FTP proxy type

Defaultfalse

List files recursively

Regexp filter on full path

Defaulttrue

Verify data channel IP

Ensures the responding server IP matches the control connection to prevent spoofed data channels.

Defaulttrue

Treat path as user home root

If true (default), remote paths are resolved relative to the authenticated user's home directory.

Username

Metadata of downloaded files

Definitions
accessDatestring
Formatdate-time
fileTypestring
Possible Values
FOLDERFILEFILE_OR_FOLDERIMAGINARY
flagsinteger
groupIdinteger
namestring
pathstring
Formaturi
permissionsinteger
sizeinteger
symbolicLinkboolean
Defaultfalse
updatedDatestring
Formatdate-time
userIdinteger
SubTypestring

The downloaded files as a map of from/to URIs