# 配置FTP节点

### 配置要求

在进行配置之前，请务必检查您的FTP数据节点是否符合平台要求，参考如下：

| 要求     | 详情         |
| ------ | ---------- |
| 版本要求   | 无          |
| 用户权限要求 | 登录、访问和写入权限 |
| 其他要求   | 无          |

FTP文件读取FTP 客户端读取方式是通过 FTP 客户端进行文件读取，该读取模式支持读取 CSV、Json 类型文件的定时全量读取。

&#x20;FTP文件写入方式是通过FTP客户端进行文件写入，该写入模式支持将源端数据写入FTP目的地端的CSV、Json类型文件，并且支持写入动态文件目录。

### 操作步骤

&#x20;1.用户点击「添加数据节点」按钮，弹出添加数据节点弹窗，填写名称、描述后选择节点类型为HDFS，点击「保存」，跳转到节点详情页。&#x20;

* 名称：必填项，最多可填50个字符，节点名称是该节点在系统的唯一标识。&#x20;
* 描述：非必填项，无字符长度限制，用户可自定义内容来描述和区分节点。&#x20;
* 类型：下拉列表，可选MySQL、Oracle、MS SQL Server、PostgreSQL、TiDB、Kafka、Redis、SequoiaDB、Greenplum、Amazon Redshift、IBM Db2、FTP、HDFS

2.补充FTP客户端连接配置信息并保存&#x20;

* 连接模式：必选项，可选择主动模式、被动模式&#x20;
  * 选择「被动模式」显示的配置项：服务器地址、用户名、密码、根目录地址、认证方式&#x20;
  * 选择「主动模式」显示的配置项：服务器地址、用户名、密码、根目录地址、认证方式、数据端口
* 数据端口：表示主动传输模式需要开放给服务端的端口范围，例：1000-2000，包含1000和2000&#x20;

{% hint style="info" %}
注意：请根据端口映射信息填写映射后的开放端口，否则数据源无法正常使用！
{% endhint %}

* 服务器地址、端口：必填项，表示连接到FTP的域名或IP地址以及端口值，服务器地址例：123.207.123.213，端口例：21。
* 根目录地址：输入文件系统所在目录的绝对地址，要求目录以【/】开头。
* 认证方式：可选无、SSL、TLS&#x20;
  * 选择SSL：&#x20;
    * 显示配置项：密钥库文件和密钥库密码&#x20;
  * 选择TLS：&#x20;
    * 显示配置项：密钥库文件和密钥库密码&#x20;

3.如果要使用FTP作为数据源，需要补充FTP源文件配置&#x20;

* * 自定义参数：自定义参数可以用于自定义 HDFS数据源文件目录以及文件名，您可以通过表达式以及外部赋值的方式来定义参数，在文件名里引用参数需要用 "\[$""]" 将参数转义。例如：参数名为 time 的参数在被引用时写作 \[$time]。&#x20;
  * 参数名称：限制50个字符长度；&#x20;
  * 类型：可选数字、时间&#x20;
  * 参数定义：可选表达式定义、外部赋值&#x20;
    * 点击「表达式定义」，&#x20;
      * 当类型选择为数字时：
        * 弹窗配置项：数字格式、自增规律&#x20;
        * 数字格式：支持用Java数字格式化的方式定义数字格式，常见的格式如： 1.%d表示实际长度的十进制整型数据 2.%04d表示在前面补0的至少四位的十进制整型数据，如：0001、0002、0003...
        * 自增规律选项：自增1、请输入表达式（该选项暂时不支持）&#x20;
      * 当类型选择为时间时：
        * 弹窗配置项：日期格式、自增规律&#x20;
        * 日期格式：请用ISO 8601表示法输入日期格式，如yyyy-MM-dd 注意：支持用yyyy表示年份，MM表示月份，dd表示天，HH表示时，mm表示分，ss表示秒。中间允许使用’-‘以及来分隔，如：yyyy-MM-dd-HH-mm-ss。 不支持冒号'：'、空格' '、斜线'/'、反斜线'\\'&#x20;
    * 点击「外部赋值」：
      * 弹窗可切换tab：接口赋值、数据库赋值
        * 点击「接口赋值」： 配置项为接口赋值，支持填写URL进行接口赋值；&#x20;
        * 点击「数据库赋值」： 配置项为选择节点、选表、选择字段；&#x20;
          * 点击选择节点，可选择系统内已存在的节点或者新建节点，但仅允许选择一个节点； 点击选表，仅允许选择一张表； 点击选择字段，仅允许选择一个字段；&#x20;
  * 添加同步文件：&#x20;
    * 同步文件路径：输入包含子目录的文件名（如/data/\[$time]/file\_name）&#x20;
    * 文件类型：可选csv、json 文件配置
      * 当文件类型选择为csv时：
        * &#x20;编码方式：请输入合法文件编码的规范名称，如UTF-8&#x20;
        * 字段分隔符：可选分号、逗号、列表、空格、双引号、Custom ANSI、Custom UTF8&#x20;
        * 行分隔符：可选标准EOL，Custom String&#x20;
        * 忽略的行数：输入忽略文件头的行数，在读取时将会忽略该几行数据&#x20;
        * 文件尾：输入忽略文件尾的行数，在读取时将会忽略该几行数据
      * 当文件类型为json时：&#x20;
        * 编码方式：输入合法文件编码的规范名称，如UTF-8
