
File system Download
CertifiedDownload a file from FTP
File system Download
Download a file from FTP
Fetches a single remote file to internal storage. Defaults: port 21, passive mode on, remote IP verification on, paths relative to user home.
type: io.kestra.plugin.fs.ftp.DownloadExamples
id: fs_ftp_download
namespace: company.team
tasks:
- id: download
type: io.kestra.plugin.fs.ftp.Download
host: localhost
port: 21
username: foo
password: "{{ secret('FTP_PASSWORD') }}"
from: "/in/file.txt"
Properties
from *Requiredstring
Source URI to download
host *Requiredstring
Remote host
checksumAlgorithm string
SHA_256MD5SHA_1SHA_256SHA_512Checksum algorithm to use
Defaults to SHA_256. The computed checksum is always exposed on the output as checksum. MD5 and SHA_1 are deprecated and considered weak; prefer SHA_256 or SHA_512.
checksumExpected string
Expected checksum value to compare against the downloaded file
Required when validateChecksum is true. Comparison is case-insensitive.
enableSshRsa1 booleanstring
falseEnable the RSA/SHA1 algorithm (disabled by default)
options Non-dynamic
{
"connectionTimeout": "PT30S",
"dataTimeout": "PT30S",
"socketTimeout": "PT30S",
"controlKeepAliveTimeout": "PT30S",
"controlKeepAliveReplyTimeout": "PT30S"
}FTP client options
io.kestra.plugin.fs.ftp.FtpInterface-Options
PT30SControl connection timeout
Maximum time to open the control channel. Default 30s.
PT30SKeep-alive reply timeout
How long to wait for keep-alive responses before failing. Default 30s.
PT30SControl keep-alive interval
Sends keep-alive commands during long transfers. Default 30s.
PT30SData channel timeout
Maximum time to open the data socket. Default 30s.
PT30SSocket read timeout
Timeout for socket reads and writes once connected. Default 30s.
passiveMode booleanstring
trueUse 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 string
Password
pluginDefaultsRef Non-dynamicstring
Reference (ref) of the pluginDefaults to apply to this task.
port string
21Remote port
proxyHost string
FTP proxy hostname
proxyPort string
FTP proxy port
proxyType string
DIRECTHTTPSOCKSFTP proxy type
remoteIpVerification booleanstring
trueVerify data channel IP
Ensures the responding server IP matches the control connection to prevent spoofed data channels.
rootDir booleanstring
trueTreat path as user home root
If true (default), remote paths are resolved relative to the authenticated user's home directory.
username string
Username
validateChecksum booleanstring
falseValidate the downloaded file against an expected checksum
When enabled, the task fails if the computed checksum does not match checksumExpected. The downloaded file is not stored in internal storage if validation fails.
Outputs
checksum string
Checksum of the downloaded file
Hex-encoded digest computed with checksumAlgorithm. Populated whenever the file is downloaded successfully.
from string
uriThe fully-qualified URIs that point to source data
to string
uriThe fully-qualified URIs that point to destination path