SFTP

SFTP

Scheme: sftp
Syntax: sftp:host:port/directoryName
Description: The sftp (FTP over SSH) component is used for uploading or downloading files from SFTP servers.
Deprecated:false
Maven: org.apache.camel/camel-ftp/2.17.0.redhat-630283

The sftp (FTP over SSH) component is used for uploading or downloading files from SFTP servers.

Name Kind Group Required Default Type Enum Description
host path common true java.lang.String Hostname of the FTP server
port path common int Port of the FTP server
directoryName path common java.lang.String The starting directory
binary parameter common boolean Specifies the file transfer mode, BINARY or ASCII. Default is ASCII (false).
charset parameter common java.lang.String
disconnect parameter common boolean Whether or not to disconnect from remote FTP server right after use. Disconnect will only disconnect the current connection to the FTP server. If you have a consumer which you want to stop, then you need to stop the consumer/route instead.
download parameter common boolean Whether the FTP consumer should download the file. If this option is set to false, then the message body will be null, but the consumer will still trigger a Camel Exchange that has details about the file such as file name, file size, etc. It's just that the file will not be downloaded.
fastExistsCheck parameter common boolean If set this option to be true, camel-ftp will use the list file directly to check if the file exists. Since some FTP server may not support to list the file directly, if the option is false, camel-ftp will use the old way to list the directory and check if the file exists. This option also influences readLock=changed to control whether it performs a fast check to update file information or not. This can be used to speed up the process if the FTP server has a lot of files.
fileName parameter common java.lang.String
jschLoggingLevel parameter common WARN org.apache.camel.LoggingLevel TRACE
DEBUG
INFO
WARN
ERROR
OFF
The logging level to use for JSCH activity logging. As JSCH is verbose at by default at INFO level the threshold is WARN by default.
maximumReconnectAttempts parameter common int Specifies the maximum reconnect attempts Camel performs when it tries to connect to the remote FTP server. Use 0 to disable this behavior.
passiveMode parameter common boolean Sets passive mode connections.
Default is active mode connections.
reconnectDelay parameter common long Delay in millis Camel will wait before performing a reconnect attempt.
separator parameter common UNIX org.apache.camel.component.file.remote.RemoteFileConfiguration.PathSeparator Sets the path separator to be used.

UNIX = Uses unix style path separator Windows = Uses windows style path separator Auto = (is default) Use existing path separator in file name

bridgeErrorHandler parameter consumer boolean Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions occurred while the consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN/ERROR level and ignored.
delete parameter consumer boolean
moveFailed parameter consumer java.lang.String
noop parameter consumer boolean
preMove parameter consumer java.lang.String
recursive parameter consumer boolean
sendEmptyMessageWhenIdle parameter consumer boolean If the polling consumer did not poll any files, you can enable this option to send an empty message (no body) instead.
streamDownload parameter consumer boolean Sets the download method to use when not using a local working directory. If set to true, the remote files are streamed to the route as they are read. When set to false, the remote files are loaded into memory before being sent into the route.
directoryMustExist parameter consumer (advanced) boolean
exceptionHandler parameter consumer (advanced) org.apache.camel.spi.ExceptionHandler To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this options is not in use. By default the consumer will deal with exceptions, that will be logged at WARN/ERROR level and ignored.
ignoreFileNotFoundOrPermissionError parameter consumer (advanced) boolean Whether to ignore when trying to download a file which does not exist or due to permission error.

By default when a file does not exists or insufficient permission, then an exception is thrown. Setting this option to true allows to ignore that instead.

inProgressRepository parameter consumer (advanced) org.apache.camel.spi.IdempotentRepository
localWorkDirectory parameter consumer (advanced) java.lang.String
onCompletionExceptionHandler parameter consumer (advanced) org.apache.camel.spi.ExceptionHandler
pollStrategy parameter consumer (advanced) org.apache.camel.spi.PollingConsumerPollStrategy A pluggable org.apache.camel.PollingConsumerPollingStrategy allowing you to provide your custom implementation to control error handling usually occurred during the poll operation before an Exchange have been created and being routed in Camel.
processStrategy parameter consumer (advanced) org.apache.camel.component.file.GenericFileProcessStrategy
receiveBufferSize parameter consumer (advanced) 32768 int The receive (download) buffer size

Used only by FTPClient

startingDirectoryMustExist parameter consumer (advanced) boolean
useList parameter consumer (advanced) true boolean Whether to allow using LIST command when downloading a file.

Default is true. In some use cases you may want to download a specific file and are not allowed to use the LIST command, and therefore you can set this option to false.

doneFileName parameter producer java.lang.String
fileExist parameter producer Override org.apache.camel.component.file.GenericFileExist Override
Append
Fail
Ignore
Move
TryRename
flatten parameter producer boolean
moveExisting parameter producer java.lang.String
tempFileName parameter producer java.lang.String
tempPrefix parameter producer java.lang.String
allowNullBody parameter producer (advanced) boolean
chmod parameter producer (advanced) java.lang.String Allows you to set chmod on the stored file. For example chmod=640.
eagerDeleteTargetFile parameter producer (advanced) true boolean
keepLastModified parameter producer (advanced) boolean
sendNoop parameter producer (advanced) true boolean Whether to send a noop command as a pre-write check before uploading files to the FTP server.

This is enabled by default as a validation of the connection is still valid, which allows to silently re-connect to be able to upload the file. However if this causes problems, you can turn this option off.

autoCreate parameter advanced true boolean
bufferSize parameter advanced 131072 int
bulkRequests parameter advanced java.lang.Integer Specifies how many requests may be outstanding at any one time. Increasing this value may slightly improve file transfer speed but will increase memory usage.
compression parameter advanced int To use compression. Specify a level from 1 to 10. Important: You must manually add the needed JSCH zlib JAR to the classpath for compression support.
connectTimeout parameter advanced 10000 int Sets the connect timeout for waiting for a connection to be established

Used by both FTPClient and JSCH

exchangePattern parameter advanced InOnly org.apache.camel.ExchangePattern InOnly
RobustInOnly
InOut
InOptionalOut
OutOnly
RobustOutOnly
OutIn
OutOptionalIn
Sets the default exchange pattern when creating an exchange
proxy parameter advanced com.jcraft.jsch.Proxy To use a custom configured com.jcraft.jsch.Proxy. This proxy is used to consume/send messages from the target SFTP host.
serverAliveCountMax parameter advanced 1 int Allows you to set the serverAliveCountMax of the sftp session
serverAliveInterval parameter advanced int Allows you to set the serverAliveInterval of the sftp session
siteCommand parameter advanced java.lang.String Sets optional site command(s) to be executed after successful login.

Multiple site commands can be separated using a new line character (\n). @param siteCommand the site command(s).

soTimeout parameter advanced 300000 int Sets the so timeout

Used only by FTPClient

stepwise parameter advanced true boolean Sets whether we should stepwise change directories while traversing file structures when downloading files, or as well when uploading a file to a directory.

You can disable this if you for example are in a situation where you cannot change directory on the FTP server due security reasons. @param stepwise whether to use change directory or not

synchronous parameter advanced false boolean Sets whether synchronous processing should be strictly used, or Camel is allowed to use asynchronous processing (if supported).
throwExceptionOnConnectFailed parameter advanced boolean Should an exception be thrown if connection failed (exhausted)

By default exception is not thrown and a WARN is logged. You can use this to enable exception being thrown and handle the thrown exception from the {@link org.apache.camel.spi.PollingConsumerPollStrategy} rollback method.

timeout parameter advanced 30000 int Sets the data timeout for waiting for reply

Used only by FTPClient

antExclude parameter filter java.lang.String
antFilterCaseSensitive parameter filter true boolean
antInclude parameter filter java.lang.String
eagerMaxMessagesPerPoll parameter filter true boolean
exclude parameter filter java.lang.String
filter parameter filter org.apache.camel.component.file.GenericFileFilter
idempotent parameter filter false java.lang.Boolean
idempotentKey parameter filter java.lang.String
idempotentRepository parameter filter org.apache.camel.spi.IdempotentRepository
include parameter filter java.lang.String
maxDepth parameter filter 2147483647 int
maxMessagesPerPoll parameter filter int
minDepth parameter filter int
move parameter filter java.lang.String
exclusiveReadLockStrategy parameter lock org.apache.camel.component.file.GenericFileExclusiveReadLockStrategy
readLock parameter lock java.lang.String none
markerFile
fileLock
rename
changed
idempotent
readLockCheckInterval parameter lock 1000 long
readLockDeleteOrphanLockFiles parameter lock true boolean
readLockLoggingLevel parameter lock WARN org.apache.camel.LoggingLevel TRACE
DEBUG
INFO
WARN
ERROR
OFF
readLockMarkerFile parameter lock true boolean
readLockMinAge parameter lock 0 long
readLockMinLength parameter lock 1 long
readLockRemoveOnCommit parameter lock boolean
readLockRemoveOnRollback parameter lock true boolean
readLockTimeout parameter lock 10000 long
backoffErrorThreshold parameter scheduler int The number of subsequent error polls (failed due some error) that should happen before the backoffMultipler should kick-in.
backoffIdleThreshold parameter scheduler int The number of subsequent idle polls that should happen before the backoffMultipler should kick-in.
backoffMultiplier parameter scheduler int To let the scheduled polling consumer backoff if there has been a number of subsequent idles/errors in a row. The multiplier is then the number of polls that will be skipped before the next actual attempt is happening again. When this option is in use then backoffIdleThreshold and/or backoffErrorThreshold must also be configured.
delay parameter scheduler 500 long Milliseconds before the next poll.
greedy parameter scheduler boolean If greedy is enabled, then the ScheduledPollConsumer will run immediately again, if the previous run polled 1 or more messages.
initialDelay parameter scheduler 1000 long Milliseconds before the first poll starts.
runLoggingLevel parameter scheduler TRACE org.apache.camel.LoggingLevel TRACE
DEBUG
INFO
WARN
ERROR
OFF
The consumer logs a start/complete log line when it polls. This option allows you to configure the logging level for that.
scheduledExecutorService parameter scheduler java.util.concurrent.ScheduledExecutorService Allows for configuring a custom/shared thread pool to use for the consumer. By default each consumer has its own single threaded thread pool.
scheduler parameter scheduler none org.apache.camel.spi.ScheduledPollConsumerScheduler none
spring
quartz2
To use a cron scheduler from either camel-spring or camel-quartz2 component
schedulerProperties parameter scheduler java.util.Map To configure additional properties when using a custom scheduler or any of the Quartz2, Spring based scheduler.
startScheduler parameter scheduler true boolean Whether the scheduler should be auto started.
timeUnit parameter scheduler MILLISECONDS java.util.concurrent.TimeUnit NANOSECONDS
MICROSECONDS
MILLISECONDS
SECONDS
MINUTES
HOURS
DAYS
Time unit for initialDelay and delay options.
useFixedDelay parameter scheduler true boolean Controls if fixed delay or fixed rate is used. See ScheduledExecutorService in JDK for details.
shuffle parameter sort boolean
sortBy parameter sort java.lang.String
sorter parameter sort java.util.Comparator>
ciphers parameter security java.lang.String Set a comma separated list of ciphers that will be used in order of preference. Possible cipher names are defined by JCraft JSCH. Some examples include: aes128-ctr,aes128-cbc,3des-ctr,3des-cbc,blowfish-cbc,aes192-cbc,aes256-cbc. If not specified the default list from JSCH will be used.
keyPair parameter security java.security.KeyPair Sets a key pair of the public and private key so to that the SFTP endpoint can do public/private key verification.
knownHosts parameter security byte[] Sets the known_hosts from the byte array, so that the SFTP endpoint can do host key verification.
knownHostsFile parameter security java.lang.String Sets the known_hosts file, so that the SFTP endpoint can do host key verification.
knownHostsUri parameter security java.lang.String Sets the known_hosts file (loaded from classpath by default), so that the SFTP endpoint can do host key verification.
password parameter security java.lang.String Password to use for login
preferredAuthentications parameter security java.lang.String Set the preferred authentications which SFTP endpoint will used. Some example include:password,publickey. If not specified the default list from JSCH will be used.
privateKey parameter security byte[] Set the private key as byte[] so that the SFTP endpoint can do private key verification.
privateKeyFile parameter security java.lang.String Set the private key file so that the SFTP endpoint can do private key verification.
privateKeyPassphrase parameter security java.lang.String Set the private key file passphrase so that the SFTP endpoint can do private key verification.
privateKeyUri parameter security java.lang.String Set the private key file (loaded from classpath by default) so that the SFTP endpoint can do private key verification.
strictHostKeyChecking parameter security no java.lang.String no
yes
Sets whether to use strict host key checking.
username parameter security java.lang.String Username to use for login

sftp consumer

Secure FTP consumer