63.  SFTP 源


从 SFTP 服务器接收数据。

63.1. SFTP 源 Kamelet 描述

63.1.1. 身份验证

此 Kamelet 支持使用用户名和密码凭证的 SFTP 身份验证。SFTP 通过 SSH 提供安全文件传输,确保加密通信。

63.1.2. 配置

SFTP 源 Kamelet 支持以下配置:

  • 连接主机 : SFTP 服务器的主机名或 IP 地址(必需)
  • 连接端口 :SFTP 服务器的端口号(默认值:22)
  • 用户名 :SFTP 身份验证的用户名(必需)
  • 密码 :SFTP 验证的密码(必需)
  • 目录名称 :SFTP 服务器上的起始目录路径(必需)
  • 递归: 处理子目录中的文件(默认为 false)
  • idempotent: Skip already-processed 文件(默认为 true)
  • 二进制 :使用二进制传输模式而不是 ASCII (默认: false)
  • 自动创建 :如果起始目录不存在,则自动创建其起始目录(默认值: true)
  • 删除 :在成功处理后删除文件(默认:false)

63.1.3. 输出格式

Kamelet 输出文件内容作为 InputStream,并设置带有文件信息的标头: - file: 处理的文件的名称 - ce-file: Cloud Events 兼容文件名标头

63.1.4. 安全性

SFTP 通过使用 SSH 进行身份验证和加密来增强标准 FTP 的安全性,确保凭据和数据安全传输。

63.1.5. 使用示例

- route:
    from:
      uri: "kamelet:sftp-source"
      parameters:
        connectionHost: "sftp.example.com"
        connectionPort: "22"
        username: "sftpuser"
        password: "sftppass"
        directoryName: "/incoming"
      steps:
        - to:
            uri: "kamelet:log-sink"

63.1.6. 带有递归处理的示例

- route:
    from:
      uri: "kamelet:sftp-source"
      parameters:
        connectionHost: "sftp.example.com"
        username: "sftpuser"
        password: "sftppass"
        directoryName: "/data"
        recursive: true
        binary: true
      steps:
        - to:
            uri: "kamelet:log-sink"

63.1.7. 文件删除示例

- route:
    from:
      uri: "kamelet:sftp-source"
      parameters:
        connectionHost: "sftp.example.com"
        username: "sftpuser"
        password: "sftppass"
        directoryName: "/processed"
        delete: true
        idempotent: false
      steps:
        - to:
            uri: "kamelet:log-sink"

本例在处理后删除文件并禁用幂等性,以允许对同名的文件进行重新处理。

63.2. 配置选项

下表总结了 sftp-source Kamelet 可用的选项:

Expand
属性名称描述类型默认示例

connectionHost *

连接主机

SFTP 服务器的主机名。

字符串

  

connectionPort *

连接端口

FTP 服务器的端口。

字符串

22

 

directoryName *

目录名称

起始目录。

字符串

  

autoCreate

autocreate Missing directory

自动创建起始目录。

布尔值

True

 

二进制

二进制

指定文件传输模式 BINARY 或 ASCII。默认为 ASCII (false)。

布尔值

False

 

delete

删除

如果为 true,则在成功处理后会删除该文件。

布尔值

False

 

idempotent

idempotency

跳过已处理的文件。

布尔值

True

 

ignoreFileNotFoundOrPermissionError

忽略文件没有被发现的权限错误

是否忽略 when (尝试列出目录中的文件或下载文件时),但不存在,还是因为权限错误。默认情况下,当目录或文件不存在或权限不足时,会抛出异常。将这个选项设置为 true 可忽略它。

布尔值

False

 

passiveMode

被动模式

设置被动模式连接。

布尔值

False

 

password

密码

用于访问 SFTP 服务器的密码。

string

  

privateKeyFile

私钥文件

设置私钥文件,以便 SFTP 端点可以验证私钥。

string

  

privateKeyPassphrase

私钥密码

设置私钥文件密码短语,以便 SFTP 端点可以进行私钥验证。

string

  

privateKeyUri

私钥 URI

设置私钥文件(默认为从 classpath 加载),以便 SFTP 端点可以进行私钥验证。

string

  

递归

递归

如果一个目录,也查找所有子目录中的文件。

布尔值

False

 

strictHostKeyChecking

严格主机检查

设置是否使用严格的主机密钥检查。

string

False

 

useUserKnownHostsFile

使用用户已知的主机文件

如果没有明确配置 knownHostFile,则使用 System.getProperty (user.home)/.ssh/known_hosts 中的主机文件。

布尔值

True

 

username

用户名

用于访问 SFTP 服务器的用户名。

string

  

* = 标记为星号的字段 是必需的

63.3. 依赖项

在运行时,sftp-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>

63.4. kamelets 源文件

https://github.com/apache/camel-kamelets/blob/4.14.x/kamelets/sftp-source.kamelet.yaml

Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2026 Red Hat
返回顶部