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 |
Secure FTP consumer