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
Async:false
Maven: org.apache.camel/camel-ftp/2.18.1.redhat-000005

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
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.
doneFileName parameter common java.lang.String
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.
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

fastExistsCheck parameter common (advanced) 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.
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
download parameter consumer (advanced) 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.
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.
exchangePattern parameter consumer (advanced) org.apache.camel.ExchangePattern InOnly
RobustInOnly
InOut
InOptionalOut
OutOnly
RobustOutOnly
OutIn
OutOptionalIn
Sets the exchange pattern when the consumer creates an exchange.
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
startingDirectoryMustExist parameter consumer (advanced) boolean
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.
disconnectOnBatchComplete parameter producer (advanced) boolean Whether or not to disconnect from remote FTP server right after a Batch upload is complete. disconnectOnBatchComplete will only disconnect the current connection to the FTP server.
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

maximumReconnectAttempts parameter advanced int Specifies the maximum reconnect attempts Camel performs when it tries to connect to the remote FTP server. Use 0 to disable this behavior.
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.
reconnectDelay parameter advanced long Delay in millis Camel will wait before performing a reconnect attempt.
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
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
filterDirectory parameter filter java.lang.String
filterFile parameter filter java.lang.String
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. You can also specify time values using units, such as 60s (60 seconds), 5m30s (5 minutes and 30 seconds), and 1h (1 hour).
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. You can also specify time values using units, such as 60s (60 seconds), 5m30s (5 minutes and 30 seconds), and 1h (1 hour).
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
useUserKnownHostsFile parameter security true boolean If knownHostFile has not been explicit configured then use the host file from System.getProperty(user.home)/.ssh/known_hosts

sftp consumer

Secure FTP consumer