第 111 章 FTP 组件
从 Camel 版本 1.1 开始提供
这个组件可让您通过 FTP 和 SFTP 协议访问远程文件系统。
当从远程 FTP 服务器 消耗时,请确保在下面阅读标题为 Default 的小节,以了解与使用文件相关的详细信息。
不支持 绝对路径。Camel 2.16 将通过修剪 directoryname
中的所有前导斜杠将绝对路径转换为相对路径。日志中会输出 WARN 消息。
Maven 用户需要将以下依赖项添加到这个组件的 pom.xml
中:
<dependency> <groupId>org.apache.camel</groupId> <artifactId>camel-ftp</artifactId> <version>x.x.x</version>See the documentation of the Apache Commons <!-- use the same version as your Camel core version --> </dependency>
111.1. URI 格式
ftp://[username@]hostname[:port]/directoryname[?options] sftp://[username@]hostname[:port]/directoryname[?options] ftps://[username@]hostname[:port]/directoryname[?options]
其中 directoryname 代表底层目录。目录名称是相对路径。不支持 绝对路径。相对路径可以包含嵌套文件夹,如 /inbox/us。
对于 Camel 2.16 之前的 Camel 版本,directoryName 必须已存在,因为此组件不支持 autoCreate
选项(文件组件的作用)。其原因是,其 FTP 管理员(FTP 服务器)任务用于正确设置用户帐户,以及具有正确文件权限的主目录等。
对于 Camel 2.16,支持autoCreate
选项。当消费者启动时,在调度轮询前,需要执行额外的 FTP 操作来创建为端点配置的目录。autoCreate
的默认值为 true
。
如果未提供 用户名,则将尝试使用任何密码进行 匿名
登录。
如果没有提供 端口号,Camel 将根据协议(ftp = 21、sftp = 22、ftps = 2222)提供默认值。
您可以在 URI 中附加查询选项,格式为 ?option=value&option=value&…
该组件对实际 FTP 工作使用两个不同的库。FTP 和 FTPS 使用 Apache Commons Net,而 SFTP 使用 JCraft JSCH。
FTPS 组件仅适用于 Camel 2.2 或更新版本。
FTPS (也称为 FTP Secure)是 FTP 的扩展,它增加了对传输层安全(TLS)和安全套接字层(SSL)加密协议的支持。