You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何配置Spring Cloud Dataflow预打包SFTP源的多目录?

处理Spring Cloud Dataflow SFTP源多目录配置问题

一、单SFTP工厂多目录配置(同一服务器多目录)

适用于所有监听目录在同一SFTP服务器下的场景,无需配置多工厂,直接指定完整远程路径即可避免默认根目录导致的找不到文件问题。

# 基础SFTP连接配置
sftp.supplier.host=your-sftp-host
sftp.supplier.port=22
sftp.supplier.username=your-username
sftp.supplier.password=your-password

# 指定多个远程监听目录(逗号分隔,必须写完整路径)
sftp.supplier.directories=/data/imports,/docs/received

# 可选全局配置
sftp.supplier.max-fetch=1
sftp.supplier.fair=true

二、多SFTP工厂多目录配置(多服务器/独立连接)

针对不同SFTP服务器的场景,你提供的示例核心是自定义工厂别名,以下是修正后的完整配置及规则说明:

配置规则说明

  • one、two是自定义的工厂别名,可替换为任意唯一字符串(如sftp-server-1、backup-server),用来区分不同的SFTP连接实例。
  • 每个工厂必须配置remote-dir,明确指定该工厂要监听的远程目录,否则默认使用根目录/,这是你遇到FileNotFoundException的核心原因。
  • directories项的格式为[工厂别名].[自定义标识],标识仅用于绑定任务,可任意命名。
# 第一个SFTP工厂(别名one)
sftp.supplier.factories.one.host=host1
sftp.supplier.factories.one.port=1234
sftp.supplier.factories.one.username=user1
sftp.supplier.factories.one.password=pass1
# 必须配置:指定该工厂监听的远程目录
sftp.supplier.factories.one.remote-dir=/app/data/source

# 第二个SFTP工厂(别名two)
sftp.supplier.factories.two.host=host2
sftp.supplier.factories.two.port=2345
sftp.supplier.factories.two.username=user2
sftp.supplier.factories.two.password=pass2
# 必须配置:指定该工厂监听的远程目录
sftp.supplier.factories.two.remote-dir=/backup/received

# 关联工厂与监听任务(格式:工厂别名.自定义标识)
sftp.supplier.directories=one.sftpSource,two.sftpSecondSource

# 全局配置
sftp.supplier.max-fetch=1
sftp.supplier.fair=true

常见问题排查

  • FileNotFoundException:验证每个工厂的remote-dir是否为SFTP服务器上真实存在的路径,且配置的SFTP用户有读取权限,可通过SFTP客户端手动登录确认。
  • 配置解析错误:删除配置项末尾多余的逗号(示例中port=1234,这类格式会导致解析失败)。
  • 工厂冲突:确保factories下的别名唯一,不要重复使用同一别名。

内容的提问来源于stack exchange,提问作者oldvirus_231

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.17 00:11:05