21. FTP 源
从 FTP 服务器接收数据。
21.1. FTP Source Kamelet Description 复制链接链接已复制到粘贴板!
21.1.1. 身份验证 复制链接链接已复制到粘贴板!
此 Kamelet 需要用户名和密码身份验证才能访问 FTP 服务器。凭据通过 。
用户名和密码 属性进行配置
21.1.2. 配置 复制链接链接已复制到粘贴板!
FTP 源 Kamelet 支持以下配置:
- 连接主机 :FTP 服务器的主机名或 IP 地址(必需)
- 连接端口 :FTP 服务器的端口号(默认值:21)
- 用户名 :FTP 身份验证的用户名(必需)
- 密码 :用于 FTP 验证的密码(必需)
- 目录名称 :FTP 服务器上的起始目录路径(必需)
- 被动模式: 对 FTP 连接使用被动模式(默认为 false)
- 递归: 处理子目录中的文件(默认为 false)
- idempotent: Skip already-processed 文件(默认为 true)
- 二进制 :使用二进制传输模式而不是 ASCII (默认: false)
- 自动创建 :如果起始目录不存在,则自动创建其起始目录(默认值: true)
- 删除 :在成功处理后删除文件(默认:false)
21.1.3. 输出格式 复制链接链接已复制到粘贴板!
Kamelet 输出文件内容作为 InputStream,并设置带有文件信息的标头: - file: 处理的文件的名称 - ce-file: Cloud Events 兼容文件名标头
21.1.4. 使用示例 复制链接链接已复制到粘贴板!
- route:
from:
uri: "kamelet:ftp-source"
parameters:
connectionHost: "ftp.example.com"
connectionPort: "21"
username: "ftpuser"
password: "ftppass"
directoryName: "/incoming"
steps:
- to:
uri: "kamelet:log-sink"
21.1.5. 带有被动模式和递归处理的示例 复制链接链接已复制到粘贴板!
- route:
from:
uri: "kamelet:ftp-source"
parameters:
connectionHost: "ftp.example.com"
connectionPort: "21"
username: "ftpuser"
password: "ftppass"
directoryName: "/data"
passiveMode: true
recursive: true
binary: true
steps:
- to:
uri: "kamelet:log-sink"
21.1.6. 文件删除示例 复制链接链接已复制到粘贴板!
- route:
from:
uri: "kamelet:ftp-source"
parameters:
connectionHost: "ftp.example.com"
connectionPort: "21"
username: "ftpuser"
password: "ftppass"
directoryName: "/processed"
delete: true
idempotent: false
steps:
- to:
uri: "kamelet:log-sink"
本例在处理后删除文件并禁用幂等性,以允许对同名的文件进行重新处理。
21.2. 配置选项 复制链接链接已复制到粘贴板!
下表总结了可用于 ftp-source Kamelet 的配置选项:
| 属性 | 名称 | 描述 | 类型 | 默认 | 示例 |
|---|---|---|---|---|---|
| connectionHost * | 连接主机 | FTP 服务器的主机名。 | 字符串 | ||
| connectionPort * | 连接端口 | FTP 服务器的端口。 | 字符串 | 21 | |
| directoryName * | 目录名称 | 起始目录 | 字符串 | ||
| password * | 密码 | 用于访问 FTP 服务器的密码。 | 字符串 | ||
| username * | 用户名 | 用于访问 FTP 服务器的用户名。 | 字符串 | ||
| autoCreate | autocreate Missing directory | 自动创建起始目录。 | 布尔值 | True | |
| 二进制 | 二进制 | 指定文件传输模式 BINARY 或 ASCII。默认为 ASCII (false)。 | 布尔值 | False | |
| delete | 删除 | 如果为 true,则在成功处理后会删除该文件。 | 布尔值 | False | |
| idempotent | idempotency | 跳过已处理的文件。 | 布尔值 | True | |
| passiveMode | 被动模式 | Specifes 使用被动模式连接。 | 布尔值 | False | |
| 递归 | 递归 | 如果一个目录,也查找所有子目录中的文件。 | 布尔值 | False |
* = 标记为星号的字段 是必需的。
21.3. 依赖项 复制链接链接已复制到粘贴板!
在运行时,ftp-source Kamelet 依赖于以下依赖项:
<dependencies>
<dependency>
<groupId>org.apache.camel.quarkus</groupId>
<artifact>camel-quarkus-core</artifact>
</dependency>
<dependency>
<groupId>org.apache.camel.quarkus</groupId>
<artifact>camel-quarkus-ftp</artifact>
</dependency>
<dependency>
<groupId>org.apache.camel.quarkus</groupId>
<artifact>camel-quarkus-kamelet</artifact>
</dependency>
<dependency>
<groupId>org.apache.camel.kamelets</groupId>
<artifact>camel-kamelets-utils</artifact>
<version>{kamelets-utils-version}</version>
</dependency>
</dependencies>
21.4. kamelets 源文件 复制链接链接已复制到粘贴板!
https://github.com/apache/camel-kamelets/blob/4.14.x/kamelets/ftp-source.kamelet.yaml