FTP(File Transfer Protocol)是用于网络文件传输的一套标准协议,使用 TCP 进行传输。
SFTP(SSH File Transfer Protocol)与 FTP 有着几乎一样的语法和功能,但其通过 SSH 协议在客户端与服务端之间建立连接加密传输认证信息和数据,在安全性方面比FTP更强。
FTP/SFTP 数据源为您提供读取 FTP/SFTP 数据的单向通道能力,实现从 FTP/SFTP 读取数据,写入到不同目标数据源中,进行数据传输。
本文将为您介绍 DataSail 中 FTP/SFTP 数据源的数据同步能力支持情况。
FTP 协议支持以下两种连接模式:
FTP/SFTP 离线读支持的字段数据类型如下:
类型分类 | 数据集成 column 配置类型 |
|---|---|
整数类 | tinyint、int、bigint |
浮点类 | float、double、decimal |
字符串类 | string |
时间类 | date、timestamp |
布尔类 | boolean |
数组类 | array |
字典类 | map |
二进制类型 | binary |
新建数据源操作详见配置数据源,以下为您介绍连接串方式配置的 FTP/SFTP 数据源相关信息:
其中参数名称前带 * 的为必填参数,名称前未带 * 的为可选填参数。
参数 | 说明 |
|---|---|
基本配置 | |
*数据源类型 | FTP/SFTP |
*接入方式 | 连接串 |
*数据源名称 | 数据源的名称,可自行设置,仅支持中文,英文,数字,“_”,100个字符以内。 |
参数配置 | |
*Host | 连接 FTP/SFTP 时,使用的主机名或IP地址。 |
*Port | FTP/SFTP 协议配置的端口号:
|
*用户名 | 访问 FTP/SFTP 协议时的登录用户名信息。 |
*密码 | 访问 FTP/SFTP 协议时的密码信息。 |
*协议类型 | 目前支持 FTP、SFTP 协议。 |
*连接模式 | 当选择 FTP 协议时,需选择连接模式,支持选择 pasv、port 两种连接模式。 |
FTP/SFTP 数据源测试连通性成功后,进入到数据开发界面,开始新建 FTP/SFTP 相关通道任务。新建任务方式详见离线数据同步。
任务创建成功后,您可根据实际场景,配置 FTP/SFTP 离线读通道任务。

数据来源选择 FTP/SFTP,并完成以下相关参数配置:
其中参数名称前带 * 的为必填参数,名称前未带 * 的为可选填参数。
参数 | 说明 |
|---|---|
*数据源类型 | 下拉选择 FTP/SFTP 数据源类型。 |
*数据源名称 | 已在数据源管理中注册成功的 FTP/SFTP 数据源,下拉可选。 |
*文件路径 | 填写需要采集的 FTP/SFTP 数据文件所在路径:
|
*数据类型 | 支持选择 csv、json、txt 几种数据格式:
|
*Success 标签检测 | 根据实际情况,选择是否开启 Success 标签检测。
|
可视化离线读 FTP/SFTP,数据来源和目标端配置完成后,需要指定来源和目标端的字段映射关系,根据字段映射关系,数据集成任务将源端字段中的数据,写入到目标端对应字段中。
您可通过以下三种方式操作字段映射关系:
目前暂时不支持 FTP/SFTP 数据源,通过脚本模式(DSL)模式配置任务。
对于可视化通道任务,高级参数可在任务开发界面:任务运行参数 > 自定义参数设置中填写,读参数需要加上 job.common.:
JSON 数据格式相关参数:
参数 | 描述 | 默认值 |
|---|---|---|
job.common.case_insensitive | JSON 内容解析时是否对字段 Key 大小写敏感。 | true |
job.common.support_json_path | 是否支持带 | false |
job.common.json_serializer_features | Datasail 使用 fastjson 解析 JSON 内容,用户可以通过此参数设置 JSON 解析的 features,详情参考 SerializerFeature - fastjson 1.2.83 javadoc。多个 SerializerFeature 使用逗号分隔。 | 无 |
job.common.convert_error_column_as_null | 是否将类型转化失败的字段默认置为 null。 | false |
CSV、TXT 数据格式相关参数:
参数 | 描述 | 默认值 |
|---|---|---|
job.common.csv_escape | CSV 的 escape 字符 | 无 |
job.common.csv_quote | CSV 的 quote 字符 | 无 |
job.common.csv_with_null_string | 将 CSV 中的这个字段值视为 null | 无 |
其余参数:
参数 | 描述 | 默认值 |
|---|---|---|
job.reader.skip_if_path_not_exists | 当 FTP/SFTP 上读取的文件不存在时,是否跳过该文件。默认不跳过,任务失败。 | false |