SFTP数据源
更新时间:2026-07-03
SFTP 文件数据源支持文件采集(Sftp-File)一类 source 插件,以 file 作业类型运行,可将 SFTP 服务器上的文件写入数据卷、媒体集等目标端(各目标端插件参数详见各自文档)。本文以数据卷作为目标端示例。
SFTP 插件类型
| 插件 | plugin_name | _db_pluginId | 作业类型 | 说明 |
|---|---|---|---|---|
| SFTP 文件采集 | SftpFile |
Sftp-File |
file |
从 SFTP 服务器采集文件,支持路径过滤、格式过滤和时间范围过滤 |
脚本 Demo 与参数说明
一、文件任务:SFTP → 数据卷
适用于将 SFTP 服务器上的文件批量采集并写入 DataBuilder 数据卷的场景。作业类型为 file,source 使用 Sftp-File,sink 使用 Volume。
JSON
1{
2 "_db_jobMeta": {
3 "name": "sftp_orders_to_volume",
4 "description": "SFTP /data/in/orders/ 目录下 CSV 文件同步到 Volume",
5 "parentFolderId": "project_91cc_799bd26eee94",
6 "type": "file",
7 "mode": "script"
8 },
9 "env": {
10 "job.mode": "BATCH",
11 "parallelism": 1
12 "checkpoint.interval": 30000
13 },
14 "source": [
15 {
16 "plugin_name": "SftpFile",
17 "_db_pluginId": "Sftp-File",
18 "plugin_output": "source_file",
19 "_db_connectionId": "sftp-conn-001",
20 "path": "/data/in/orders/",
21 "file_filter_pattern": ".*\\.csv",
22 "filename_extension": "csv",
23 "_db_enableSourceFileFilterMod": "enabled",
24 "file_filter_modified_start": "${logicTime(yyyy-MM-dd,-1d)}",
25 "file_filter_modified_end": "${logicTime(yyyy-MM-dd,0d)}"
26 }
27 ],
28 "sink": [
29 {
30 "plugin_name": "Volume",
31 "_db_pluginId": "Volume",
32 "plugin_input": "source_file",
33 "_db_sinkPath": "/Volumes/lake/default/raw_files/orders/",
34 "duplicate_file_strategy": "OVERWRITE"
35 }
36 ]
37}
Reader 参数:Sftp-File
| 参数 | 描述 | 是否必选 | 默认值 |
|---|---|---|---|
plugin_name |
SeaTunnel 插件名,固定填 SftpFile |
是 | 无 |
_db_pluginId |
DataBuilder 侧插件 ID,固定填 Sftp-File |
是 | 无 |
plugin_output |
Source 输出流名称,需与 sink 的 plugin_input 保持一致 |
是 | 无 |
_db_connectionId |
SFTP 数据源连接 ID | 是 | 无 |
path |
SFTP 服务器上的文件或目录路径 | 是 | 无 |
file_filter_pattern |
路径正则过滤,匹配的文件才会被采集(如 .*\\.csv) |
否 | 无 |
filename_extension |
文件格式过滤,例如 .png 或 .png,.jpg,.zip |
否 | 无 |
_db_enableSourceFileFilterMod |
更新时间过滤开关:disabled(不过滤)/ enabled(过滤) |
否 | disabled |
file_filter_modified_start |
文件最后修改时间下界,支持时间宏如 ${logicTime(yyyy-MM-dd,-7d)} |
否 | 无 |
file_filter_modified_end |
文件最后修改时间上界,支持时间宏如 ${logicTime(yyyy-MM-dd,0d)} |
否 | 无 |
配置编写注意事项
- plugin_name 与 _db_pluginId 不同:SeaTunnel 真实插件名为
SftpFile,DataBuilder 侧标识为Sftp-File,两者格式不同,注意区分。 - 文件过滤组合使用:
file_filter_pattern(正则)和filename_extension(扩展名)可组合使用,均满足才会采集该文件;时间范围过滤需先将_db_enableSourceFileFilterMod设为enabled才生效。 - SFTP 仅支持 file 作业类型:
env.job.mode固定为BATCH,不支持 streaming。
评价此篇文章
