294.2. 选项
SCP 组件支持 2 个选项,如下所列。
Name | 描述 | 默认值 | 类型 |
---|---|---|---|
verboseLogging (producer) | JSCH 是开箱即用的详细注销。因此,我们默认将日志记录变为 DEBUG 日志记录。但是,将这个选项设置为 true 可再次打开详细日志记录。 | false | 布尔值 |
resolveProperty Placeholders (advanced) | 组件是否应在启动时解析属性占位符。只有 String 类型的属性可以使用属性占位符。 | true | 布尔值 |
SCP 端点使用 URI 语法进行配置:
scp:host:port/directoryName
使用以下路径和查询参数:
294.2.1. 路径参数(3 参数):
Name | 描述 | 默认值 | 类型 |
---|---|---|---|
主机 | 需要的 FTP 服务器的主机名 | 字符串 | |
port | FTP 服务器的端口 | int | |
directoryName | 起始目录 | 字符串 |
294.2.2. 查询参数(22 参数):
Name | 描述 | 默认值 | 类型 |
---|---|---|---|
disconnect (common) | 使用后是否从远程 FTP 服务器断开连接。断开连接将仅断开当前与 FTP 服务器的连接。如果您有要停止的消费者,则需要停止消费者/路由。 | false | 布尔值 |
chmod (producer) | 允许您在存储的文件上设置 chmod。例如 chmod=664。 | 664 | 字符串 |
filename ( producer) | 使用 File Language 等表达式来动态设置文件名。对于消费者,它将用作文件名过滤器。对于生成者,它用于评估要写入的文件名。如果设置了表达式,它将优先于 CamelFileName 标头。(注:标题本身也可以是表达式)。表达式选项支持 String 和 Expression 类型。如果表达式是 String 类型,则始终使用 File 语言来评估它。如果表达式是 Expression 类型,则使用指定的 Expression 类型 - 例如,允许您使用 OGNL 表达式。对于消费者,您可以使用它过滤文件名,因此您可以使用 File Language 语法使用当前的文件:mydata-$date:now:yyyyMMdd.txt。生产者支持 CamelOverruleFileName 标头,它优先于任何现有的 CamelFileName 标头;CamelOverruleFileName 是一个只使用一次的标头,它可让您更轻松地临时存储 CamelFileName,且之后必须恢复它。 | 字符串 | |
flatten (producer) | flatten 用于扁平化任何前导路径的文件名路径,因此只用于文件名。这可让您以递归方式消耗到子目录中,但当您将文件写入另一个目录时,它们将写入单个目录。在生成者中将其设置为 true 强制执行 CamelFileName 标头中的任何文件名都会被剥离任何前导路径。 | false | 布尔值 |
jailStartingDirectory (producer) | 用于存放(限制)将文件写入起始目录(和子目录)。这默认是启用的,不允许 Camel 将文件写入外部目录(从而更加安全)。您可以关闭此项,以允许将文件写入起始目录之外的目录,如父目录或 root 文件夹。 | true | 布尔值 |
StrictHostKeyChecking (producer) | 设置是否使用严格的主机密钥检查。可能的值有:no、yes | 否 | 字符串 |
allowNullBody (producer) | 用于指定在文件写入过程中是否允许 null 正文。如果设置为 true,则会创建一个空文件,当设为 false 时,并尝试向文件组件发送 null 正文,则 'Cannot null body to file.' 的 GenericFileWriteException 将会被抛出。如果将 fileExist 选项设置为 'Override',则文件将被截断,如果设置为附加文件,则文件将保持不变。 | false | 布尔值 |
disconnectOnBatchComplete (producer) | 在 Batch upload 完成后是否断开与远程 FTP 服务器的连接。disconnectOnBatchComplete 只会断开当前与 FTP 服务器的连接。 | false | 布尔值 |
moveExistingFileStrategy (producer) | 策略(Custom Strategy)用于在配置 fileExist=Move 时使用,使用特殊命名令牌来移动文件。默认情况下,如果没有提供自定义策略,则使用实施 | FileMoveExisting 策略 | |
connectTimeout (advanced) | 设置连接超时,以等待 FTPClient 和 JSCH 使用连接 | 10000 | int |
soTimeout (advanced) | 仅为 FTPClient 设置 so 超时 | 300000 | int |
同步 (高级) | 设置是否应严格使用同步处理,还是允许 Camel 使用异步处理(如果支持)。 | false | 布尔值 |
超时 (advanced) | 设置用于仅由 FTPClient 使用的数据超时 | 30000 | int |
knownHostsFile (security) | 设置 known_hosts 文件,以便 jsch 端点可以进行主机密钥验证。您可以使用 classpath: 前缀来加载 classpath 中的文件,而不是文件系统。 | 字符串 | |
密码 (security) | 用于登录的密码 | 字符串 | |
preferredAuthentications (security) | 设置以逗号分隔的身份验证列表,按首选顺序使用。可能的身份验证方法由 JCraft JSCH 定义。有些示例包括:gssapi-with-mic,publickey,keyboard-interactive,password (如果没有指定 JSCH 和/或系统默认值)。 | 字符串 | |
privateKeyBytes (security) | 将私钥字节设置为端点可以进行私钥验证。这只有在未设置 privateKeyFile 时才使用。否则,该文件将具有优先级。 | byte[] | |
privateKeyFile (security) | 将私钥文件设置为端点可以进行私钥验证。您可以使用 classpath: 前缀来加载 classpath 中的文件,而不是文件系统。 | 字符串 | |
privateKeyFilePassphrase (security) | 将私钥文件密语设置为端点可以进行私钥验证。 | 字符串 | |
用户名 (security) | 用于登录的用户名 | 字符串 | |
useUserKnownHostsFile (security) | 如果没有明确配置 knownHostFile,则使用 System.getProperty (user.home)/.ssh/known_hosts 中的主机文件 | true | 布尔值 |
密码 (security) | 设置一个以逗号分隔的密码列表,按首选顺序使用。可能的密码名称由 JCraft JSCH 定义。某些示例包括:aes128-ctr,aes128-cbc,3des-ctr,3des-cbc,blowfish-cbc,aes192-cbc,aes256-cbc.如果没有指定 JSCH 的默认列表,则将使用。 | 字符串 |