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