
# 配置FDI源端数据信息
 #### 概述
本节主要介绍编排任务连接后的连接配置。提供了编排任务源端信息的配置说明。源端信息用于告诉ROMA Connect如何从源端获取待集成的数据，包括数据源、数据格式、数据范围等。对于不同的数据源类型，其源端信息配置有所差异。
| 支持"定时"模式的源端数据类型                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               | 支持"实时"模式的源端数据类型                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
|:---|:---|
| - [API]  - [DB2]  - [DWS]  - [MySQL]  - [MongoDB]  - [OBS]  - [Oracle]  - [PostgreSQL]  - [SQL Server]   | - [ActiveMQ]  - [ArtemisMQ]  - [Kafka]  - [RabbitMQ]   |
   
#### 配置源端数据信息
配置FDI编排任务各源端数据源的具体操作指导如下。
#### API
任务的"集成模式"为"定时"时，可以选择API作为源端数据源，具体配置如下。
表1源端API信息 
| 参数         | 配置说明                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
|:---|:---|
| 是否需要分页     | 一次API请求可以返回多条数据，ROMA Connect向API数据源发送请求获取数据时，数据是否分页返回。 - 分页表示所有满足条件的数据，按照每页固定的记录数进行分页，ROMA Connect任务每次执行时，通过多次API请求获取所有数据，其中每一次的API请求获取一页数据。  - 不分页则表示ROMA Connect通过一次API请求获取所有满足条件的数据。                                                                                        |
| 分页页码字段     | **仅当"是否需要分页"选择开启时需要配置。** 填写API数据源中原始定义的分页页码字段名称，例如：pageNo。ROMA Connect向源端发送API请求时，携带此参数，表示要获取第几页的数据。分页页码字段需要同时在"请求参数"的Params或Body中配置。                                                                                                                                                                                                                                                                                                 |
| 初始值        | **仅当"是否需要分页"选择开启时需要配置。** 分页页码初始值，指第一页从0或者从1开始计数，请根据API的原始定义填写。                                                                                                                                                                                                                                                                                                                                                                         |
| 分页大小字段     | **仅当"是否需要分页"选择开启时需要配置。** 填写API数据源中原始定义的分页大小字段名称，例如：pageSize。ROMA Connect向源端发送API请求时，携带此参数，表示每页的最大数据记录数。                                                                                                                                                                                                                                                                                                                               |
| 条数         | **仅当"是否需要分页"选择开启时需要配置。** 分页大小条数请根据API的原始定义填写。                                                                                                                                                                                                                                                                                                                                                                                         |
| 单次任务最大页数限制 | **仅当"是否需要分页"选择开启时需要配置。** 每次定时任务查询的最大页数，例如：10，超过限制则终止任务。若为0则不做限制。                                                                                                                                                                                                                                                                                                                                                                      |
| 分页结束       | **仅当"是否需要分页"选择开启时需要配置。** 选择分页获取源端数据的结束方式。 - 分页list返回为空：当响应结果中不再有数据记录，则表示获取数据结束。  - 记录总数：ROMA Connect根据请求的分页数与分页大小计算结果，并与数据记录总数对比，识别是否获取数据结束。                                                                                              |
| 分页结束字段路径   | **仅当"是否需要分页"选择开启时需要配置。** 填写API响应消息中用于判断分页结束的字段路径。在API响应消息中，每一层元素之间使用英文点号分隔。例如：响应消息为{"a":{"b":{"c":"xxx"}}}，其中的元素c为分页结束字段，则分页结束字段路径为**a.b.c**。 - 当分页结束方式选择为"分页list返回为空"时，分页结束字段路径填写list字段的根路径。  - 当分页结束方式选择"记录总数"时，分页结束字段路径填写记录总数字段的路径。   |
| 是否增量迁移     | 选择是否只集成指定时间段内的数据。 首次调度采集是采集时间戳初始值到当前调度时间之间的数据，后续每一次调度采集的数据为上次采集成功的时间到当前时间之间的数据。                                                                                                                                                                                                                                                                                                                                                         |
| 开始时间字段     | **仅当"是否增量迁移"选择开启时需要配置。** 填写API数据源中原始定义的开始时间字段名称，例如：startTime。ROMA Connect向源端发送API请求时，携带此参数，表示获取该时间之后的数据。 开始时间字段和结束时间字段需同时填写在请求参数的Params或Body中，且仅在"是否解析"选择"是"时生效。                                                                                                                                                                                                                                          |
| 结束时间字段     | **仅当"是否增量迁移"选择开启时需要配置。** 填写API数据源中原始定义的结束时间字段名称，例如：endTime。ROMA Connect向源端发送API请求时，携带此参数，表示获取该时间之前的数据。                                                                                                                                                                                                                                                                                                                                |
| 时区         | **仅当"是否增量迁移"选择开启时需要配置。** 选择API数据源使用的时区，以便ROMA Connect识别数据的时间戳。                                                                                                                                                                                                                                                                                                                                                                         |
| 时间戳初始值     | **仅当"是否增量迁移"选择开启时需要配置。** 首次集成数据时，要集成数据的起始时间，即只集成该时间点之后的数据。 例如，在进行增量采集时，开始时间字段为startTime，结束时间字段为endTime，时间戳初始值为2020-11-01 12:00:00，时间补偿为0，周期设置为系统默认。任务第一次调度的时间为 2020-11-01 13:00:00，则第一次采集的数据为startTime \>= 2020-11-01 12:00:00 且 endTime \<= 2020-11-01 13:00:00的数据，后续的采集，每次都采集startTime \>= "上次成功执行任务的时间" 且 endTime \<= "当前任务执行时间" 的数据。                                                                |
| 重置迁移时间初始值  | **该参数仅在编辑FDI任务时可配置。** 选择是否开启重置迁移时间初始值。 开启：开启后，增量迁移时每次调度时开始的时间为时间戳初始值配置的时间。 关闭：关闭时，增量迁移时每次调度的开始时间为上一次调度的结束时间。                                                                                                                                                                                                                                                          |
| 时间补偿(毫秒)   | **仅当"是否增量迁移"选择开启时需要配置。** 为了避免源端生成数据时存在滞后，导致ROMA Connect查询源端增量数据出现遗漏，可通过时间补偿进行调整。获取数据的结束时间为当前系统时间减去时间补偿值。 例如：上一次增量迁移任务的结束时间是15:05，本次定时任务在17:00触发，时间补偿设为100ms，则本次增量迁移任务要集成数据的时间区间为"15:05\~（17:00-100ms）"。                                                                                                                                                                                                  |
| 时间格式       | **仅当"是否增量迁移"选择开启时需要配置。** 选择时间字段的时间戳格式，例如：yyyy-MM-dd。                                                                                                                                                                                                                                                                                                                                                                                  |
| 周期设置       | **仅当"是否增量迁移"选择开启时需要配置。** 增量迁移的任务在首次执行后，后续数据集成的时间区间设置模式。 - 系统默认：表示集成上一次调度到本次调度之间新产生的数据，ROMA Connect在获取源端数据时，将两次任务调度的触发时间分别作为"开始时间"与"结束时间"。  - 自定义：表示按照设置的周期规则确认"开始时间"与"结束时间"，适合一般周期循环任务的场景，例如：每天、每周或每月执行一次的任务。                               |
| 开始时间前置(天)  | **仅当"周期设置"选择"系统默认"时需要配置。** 配置数据采集开始时间的前置。 若源端生成的数据为实时变化的，如告警数据等，可通过前置时间进行采集处理。 数据采集的开始时间 = 数据源系统时间 - 时间前置值                                                                                                                                                                                                                                                                      |
| 粒度单位       | **仅当"周期设置"选择"自定义"时需要配置。** 选择查询时间的粒度，需要与[任务计划](https://support.huaweicloud.com/usermanual-roma/fdi-ug-190624005.html#fdi-ug-190624005__section1216551118408)中配置的"单位"一致，才能覆盖新产生的数据。例如：任务计划中"单位"设置为"日"，则此处设置为"天"，表示每次任务获取数据的时间区间为一天。                                                                                                                                                                                                       |
| 周期指定       | **仅当"周期设置"选择"自定义"时需要配置。** 选择获取源端数据的时间周期区间。例如：任务为每天执行一次，"粒度单位"设为"天"，若"周期指定"为"上一个周期"，则表示每次增量集成上一天的数据；若"周期指定"为"当前周期"，则表示每次增量集成当天的数据。                                                                                                                                                                                                                                                                                                        |
| 周期右边界      | **仅当"周期设置"选择"自定义"时需要配置。** 选择获取源端数据的时间区间是否包含结束时间。 - 闭区间：表示包含结束时间。  - 开区间：表示不包含结束时间。                                                                                                                                                      |
| 请求参数       | 构造API请求的参数定义，例如分页页码、分页大小等参数，需要在Params或者Body中携带。请根据API数据源的定义如实填写。                                                                                                                                                                                                                                                                                                                                                                                                      |
| 响应类型       | 选择API请求的响应消息格式类型，可选择"JSON"和"XML"格式，需要与API的实际响应消息格式一致。                                                                                                                                                                                                                                                                                                                                                                                                                 |
| 数据根字段      | 指从源端获取到的JSON/XML格式数据中，元数据集上层公共字段的路径。"数据根字段"与元数据的"解析路径"组合，即为元数据的完整路径，具体请参见[元数据解析路径配置说明]。                                                                                                                                                                                                                                                                                                                                               |
| 元数据        | 指从源端获取到的JSON/XML格式数据中，要集成到目标端的每一个底层key-value型数据元素。 - 别名：对元数据的自定义名称。  - 类型：元数据的数据类型，需要与响应消息中对应参数的数据类型一致。  - 解析路径：元数据的完整路径中，不包含数据根字段的路径部分，具体请参见[元数据解析路径配置说明]。             |
   
**元数据解析路径配置说明：**
- JSON/XML格式数据中不含数组
  如以下JSON格式数据（XML原理类似），元素a的完整路径定义为**a** ，元素b的完整路径为**a.b** ，元素c的完整路径为**a.b.c** ，元素d的完整路径为**a.b.d**。元素c和d为底层数据元素，即需要通过ROMA Connect集成到目标端的数据。
  ```
  {
     "a": {
        "b": {
           "c": "xx",
           "d": "xx"
        }
     }
  }
  ```
  此场景下，对于数据根字段和解析路径有三种配置方案：
  - 数据根字段不设置 元素c的解析路径需要设置为**a.b.c** ，元素d的解析路径需设置为**a.b.d**。
    
  
  - 数据根字段设置为**a**
    元数据的解析路径从元素a的下层路径开始。元素c的解析路径需要设置为**b.c** ，元素d的解析路径需设置为**b.d**。
    
  
  - 数据根字段设置为**a.b**
    元数据的解析路径从元素b的下层路径开始。元素c的解析路径需要设置为**c** ，元素d的解析路径需设置为**d**。
    
   
- JSON/XML格式数据中含数组 如以下JSON格式数据（XML原理类似），元素a的完整路径定义为**a** ，元素b的完整路径为**a.b** ，元素c的完整路径为**a.b\[i\].c** ，元素d的完整路径为**a.b\[i\].d**。元素c和d为底层数据元素，即需要通过ROMA Connect集成到目标端的数据。
  ```
  {
     "a": {
        "b": [{
           "c": "xx",
           "d": "xx"
        },
        {
           "c": "yy",
           "d": "yy"
        }
        ]
     }
  }
  ```
  此场景下，对于数据根字段和解析路径有三种配置方案：
  - 数据根字段不设置 元素c的解析路径需要设置为**a.b\[i\].c** ，元素d的解析路径需设置为**a.b\[i\].d**。
    
  
  - 数据根字段设置为**a**
    元数据的解析路径从元素a的下层路径开始。元素c的解析路径需要设置为**b\[i\].c** ，元素d的解析路径需设置为**b\[i\].d**。
    
  
  - 数据根字段设置为**a.b**
    元数据的解析路径从元素b的下层路径开始。元素c的解析路径需要设置为**\[i\].c** ，元素d的解析路径需设置为**\[i\].d**。
    
   
以上面JSON/XML格式数据中含数组的样例为例，目标端为API的配置示例如下所示。
- 分页配置示例，pageNo和pageSize为API的分页参数，需要同时在请求参数中添加。
  图1API分页配置示例   
  ![](https://support.huaweicloud.com/usermanual-roma/zh-cn_image_0000001179917257.png "点击放大") 
- 增量迁移配置示例，startTime和endTime为API的时间参数，需要同时在请求参数中添加。
  图2API增量迁移配置示例   
  ![](https://support.huaweicloud.com/usermanual-roma/zh-cn_image_0000001218546282.png "点击放大") 
- 元数据配置示例，把a作为数据根字段。
  图3API元数据配置示例   
  ![](https://support.huaweicloud.com/usermanual-roma/zh-cn_image_0000001337712925.png "点击放大") 
 
#### ActiveMQ
[返回页首]
任务的"集成模式"为"实时"时，可以选择ActiveMQ作为源端数据源，具体配置如下。
表2源端ActiveMQ信息 
| 参数    | 配置说明                                                                                                                                                                                                                                                                                                                                                                                                                                               |
|:---|:---|
| 目标端类型 | 选择ActiveMQ数据源的消息传递模型，支持"Topic"和"Queue"两种消息传递模型。                                                                                                                                                                                                                                                                                                                                                                                                    |
| 目标端名称 | 填写要获取数据的Topic或Queue名称，请确保该Topic或Queue已存在。                                                                                                                                                                                                                                                                                                                                                                                                          |
| 数据根字段 | 指从源端获取到的JSON格式数据中，元数据集上层公共字段的路径。"数据根字段"与元数据的"解析路径"组合，即为元数据的完整路径，具体请参见[元数据解析路径配置说明]。                                                                                                                                                                                                                                                                                                                                |
| 元数据   | 指从源端获取到的JSON格式数据中，要集成到目标端的每一个底层key-value型数据元素。 - 别名：对元数据的自定义名称。  - 类型：元数据的数据类型，需要与源端数据中对应字段的数据类型一致。  - 解析路径：元数据的完整路径中，不包含数据根字段的路径部分，具体请参见[元数据解析路径配置说明]。   |
   
**元数据解析路径配置说明：**
- JSON格式数据中不含数组
  如以下JSON格式数据，元素a的完整路径定义为**a** ，元素b的完整路径为**a.b** ，元素c的完整路径为**a.b.c** ，元素d的完整路径为**a.b.d**。元素c和d为底层数据元素，即需要通过ROMA Connect集成到目标端的数据。
  ```
  {
     "a": {
        "b": {
           "c": "xx",
           "d": "xx"
        }
     }
  }
  ```
  此场景下，对于数据根字段和解析路径有三种配置方案：
  - 数据根字段不设置 元素c的解析路径需要设置为**a.b.c** ，元素d的解析路径需设置为**a.b.d**。
    
  
  - 数据根字段设置为**a**
    元数据的解析路径从元素a的下层路径开始。元素c的解析路径需要设置为**b.c** ，元素d的解析路径需设置为**b.d**。
    
  
  - 数据根字段设置为**a.b**
    元数据的解析路径从元素b的下层路径开始。元素c的解析路径需要设置为**c** ，元素d的解析路径需设置为**d**。
    
   
- JSON格式数据中含数组 如以下JSON格式数据，元素a的完整路径定义为**a** ，元素b的完整路径为**a.b** ，元素c的完整路径为**a.b\[i\].c** ，元素d的完整路径为**a.b\[i\].d**。元素c和d为底层数据元素，即需要通过ROMA Connect集成到目标端的数据。
  ```
  {
     "a": {
        "b": [{
           "c": "xx",
           "d": "xx"
        },
        {
           "c": "yy",
           "d": "yy"
        }
        ]
     }
  }
  ```
  此场景下，对于数据根字段和解析路径有三种配置方案：
  - 数据根字段不设置 元素c的解析路径需要设置为**a.b\[i\].c** ，元素d的解析路径需设置为**a.b\[i\].d**。
    
  
  - 数据根字段设置为**a**
    元数据的解析路径从元素a的下层路径开始。元素c的解析路径需要设置为**b\[i\].c** ，元素d的解析路径需设置为**b\[i\].d**。
    
  
  - 数据根字段设置为**a.b**
    元数据的解析路径从元素b的下层路径开始。元素c的解析路径需要设置为**\[i\].c** ，元素d的解析路径需设置为**\[i\].d**。
    
   
以上面JSON格式数据中不含数组的样例为例，源端为ActiveMQ的配置示例如下图所示。
图4ActiveMQ配置示例   
![](https://support.huaweicloud.com/usermanual-roma/zh-cn_image_0000001179918687.png "点击放大")
#### ArtemisMQ
[返回页首]
任务的"集成模式"为"实时"时，可以选择ArtemisMQ作为源端数据源。
1. 在创建任务页面中配置源端信息。
   表3源端ArtemisMQ信息 
   | 参数    | 配置说明                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
   |:---|:---|
   | 目标端类型 | 选择ArtemisMQ数据源的消息传递模型，可选择"Topic"和"Queue"。                                                                                                                                                                                                                                                                                                                                                                                                                   |
   | 目标端名称 | 填写要获取数据的Topic或Queue名称，请确保该Topic或Queue已存在。                                                                                                                                                                                                                                                                                                                                                                                                                   |
   | 数据根字段 | 指从源端获取到的JSON格式数据中，元数据集上层公共字段的路径。"数据根字段"与元数据的"解析路径"组合，即为元数据的完整路径，具体请参见[元数据解析路径配置说明]。                                                                                                                                                                                                                                                                                                                                         |
   | 元数据   | 指从源端获取到的JSON格式数据中，要集成到目标端的每一个底层key-value型数据元素。 - 别名：对元数据的自定义名称。  - 类型：元数据的数据类型，需要与源端数据中对应字段的数据类型一致。  - 解析路径：元数据的完整路径中，不包含数据根字段的路径部分，具体请参见[元数据解析路径配置说明]。   |
      
   **元数据解析路径配置说明：**
   - JSON格式数据中不含数组
     如以下JSON格式数据，元素a的完整路径定义为**a** ，元素b的完整路径为**a.b** ，元素c的完整路径为**a.b.c** ，元素d的完整路径为**a.b.d**。元素c和d为底层数据元素，即需要通过ROMA Connect集成到目标端的数据。
     ```
     {
        "a": {
           "b": {
              "c": "xx",
              "d": "xx"
           }
        }
     }
     ```
     此场景下，对于数据根字段和解析路径有三种配置方案：
     - 数据根字段不设置 元素c的解析路径需要设置为**a.b.c** ，元素d的解析路径需设置为**a.b.d**。
       
     
     - 数据根字段设置为**a**
       元数据的解析路径从元素a的下层路径开始。元素c的解析路径需要设置为**b.c** ，元素d的解析路径需设置为**b.d**。
       
     
     - 数据根字段设置为**a.b**
       元数据的解析路径从元素b的下层路径开始。元素c的解析路径需要设置为**c** ，元素d的解析路径需设置为**d**。
       
      
   
   - JSON格式数据中含数组 如以下JSON格式数据，元素a的完整路径定义为**a** ，元素b的完整路径为**a.b** ，元素c的完整路径为**a.b\[i\].c** ，元素d的完整路径为**a.b\[i\].d**。元素c和d为底层数据元素，即需要通过ROMA Connect集成到目标端的数据。
     ```
     {
        "a": {
           "b": [{
              "c": "xx",
              "d": "xx"
           },
           {
              "c": "yy",
              "d": "yy"
           }
           ]
        }
     }
     ```
     此场景下，对于数据根字段和解析路径有三种配置方案：
     - 数据根字段不设置 元素c的解析路径需要设置为**a.b\[i\].c** ，元素d的解析路径需设置为**a.b\[i\].d**。
       
     
     - 数据根字段设置为**a**
       元数据的解析路径从元素a的下层路径开始。元素c的解析路径需要设置为**b\[i\].c** ，元素d的解析路径需设置为**b\[i\].d**。
       
     
     - 数据根字段设置为**a.b**
       元数据的解析路径从元素b的下层路径开始。元素c的解析路径需要设置为**\[i\].c** ，元素d的解析路径需设置为**\[i\].d**。
       
      
   
   
   源端为ArtemisMQ的配置与ActiveMQ的类似，配置示例可参考[ActiveMQ配置示例]。
   
 
#### DB2
[返回页首]
任务的"集成模式"为"定时"时，可以选择DB2作为源端数据源，具体配置如下。
表4源端DB2信息 
| 参数        | 配置说明                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
|:---|:---|
| 插入SQL     | 选择是否使用SQL语句来获取源端数据。 - 开启，表示ROMA Connect根据填写的SQL语句来获取源端数据。  - 不开启，表示ROMA Connect根据界面配置的条件来获取源端数据。   若选择开启，则还需要填写查询数据的SQL语句。填写的语句必须为select语句并包含where条件，不能使用insert、update、delete、drop等语句。单击"检测SQL"，可以检测语句的有效性。 例如，语句**SELECT col01, col02 FROM table01 WHERE col02 IN('A', 'B', 'C') ORDER BY col01**，表示从table01数据表中选取col01和col02这两列的数据，筛选列col02中值为A、B或C的数据行，并按照列col01的值进行顺序排列。 |
| 源端表       | **仅当"插入SQL"选择不开启时需要配置。** 选择DB2数据源中要获取数据的数据表。选择数据表后，单击"选择表字段"，可以只选择需要集成的数据列字段，例如：ID。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
| 按字段排序     | **仅当"插入SQL"选择不开启时需要配置。** 配置要集成的数据是否按字段排序。若需要对集成的数据进行排序，则需要选择排序的参照字段，并选择"升序"或"降序"排序。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
| 是否增量迁移    | 选择是否只集成指定时间段内的数据。 首次调度采集是采集时间戳初始值到当前调度时间之间的数据，后续每一次调度采集的数据为上次采集成功的时间到当前时间之间的数据。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
| 时区        | **仅当"是否增量迁移"选择开启时需要配置。** 选择DB2数据源使用的时区，以便ROMA Connect识别数据的时间戳。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
| 时间戳字段     | **仅当"是否增量迁移"选择开启且"插入SQL"不开启时需要配置。** 用于校验数据行是否符合增量集成条件，请选择一个"DATE"类型的字段。如果时间戳字段和时间戳初始值填写不完整，此任务默认为全量集成。                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| 时间戳初始值    | **仅当"是否增量迁移"选择开启时需要配置。** 首次集成数据时，要集成数据的起始时间，即只集成该时间点之后的数据。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
| 重置迁移时间初始值 | **该参数仅在编辑FDI任务时可配置。** 选择是否开启重置迁移时间初始值。 开启：开启后，增量迁移时每次调度时开始的时间为时间戳初始值配置的时间。 关闭：关闭时，增量迁移时每次调度的开始时间为上一次调度的结束时间。                                                                                                                                                                                                                                                                                                                                                                                                          |
| 时间补偿(毫秒)  | **仅当"是否增量迁移"选择开启时需要配置。** 为了避免源端生成数据时存在滞后，导致ROMA Connect查询源端增量数据出现遗漏，可通过时间补偿进行调整。获取数据的结束时间为当前系统时间减去时间补偿值。 例如：上一次增量迁移任务的结束时间是15:05，本次定时任务在17:00触发，时间补偿设为100ms，则本次增量迁移任务要集成数据的时间区间为"15:05\~（17:00-100ms）"。                                                                                                                                                                                                                                                                                                                                          |
| 条件筛选      | **仅当"插入SQL"选择不开启时需要配置。** 添加要集成数据的筛选条件，只把满足条件的源端数据集成到目标端。 例如：条件"and \| col02 \| equal \| A"表示只集成列col02中，值为"A"的数据行。                                                                                                                                                                                                                                                                                                                                                                                                                               |
| 扩展元数据     | **仅当"插入SQL"选择不开启时需要配置。** 当数据库中某个字段的值为JSON格式，且需要采集该JSON格式值中的底层key-value型数据元素时需要配置。 - 字段名：选择源表中需要采集子元素的数据字段名称。  - 类型：JSON格式字段值中，要采集的数据元素的数据类型。  - 解析路径：数据元素在JSON格式值中的完整路径，具体请参见[扩展元数据解析路径配置说明]。                                                                                           |
   
**扩展元数据解析路径配置说明**：
- JSON格式数据中不含数组
  如以下JSON格式数据，元素a的完整路径定义为**a** ，元素b的完整路径为**a.b** ，元素c的完整路径为**a.b.c** ，元素d的完整路径为**a.b.d**。元素c和d为底层数据元素，即需要通过ROMA Connect集成到目标端的数据。
  此场景下，元素c的解析路径需要设置为**a.b.c** ，元素d的解析路径需设置为**a.b.d**。
  ```
  {
     "a": {
        "b": {
           "c": "xx",
           "d": "xx"
        }
     }
  }
  ```
  
- JSON格式数据中含数组 如以下JSON格式数据，元素a的完整路径定义为**a** ，元素b的完整路径为**a.b** ，元素c的完整路径为**a.b\[i\].c** ，元素d的完整路径为**a.b\[i\].d**。元素c和d为底层数据元素，即需要通过ROMA Connect集成到目标端的数据。
  此场景下，元素c的解析路径需要设置为**a.b\[i\].c** ，元素d的解析路径需设置为**a.b\[i\].d**。
  ```
  {
     "a": {
        "b": [{
           "c": "xx",
           "d": "xx"
        },
        {
           "c": "yy",
           "d": "yy"
        }
        ]
     }
  }
  ```
  
![](https://support.huaweicloud.com/usermanual-roma/public_sys-resources/note_3.0-zh-cn.png)
- 增量迁移不支持将源端数据表中的物理删除操作同步给目标端，建议在源端使用逻辑删除。
- 对于源端的数据变更，需要同步更新数据行的时间戳，ROMA Connect通过时间戳与任务执行时间点进行对比，识别需增量迁移的数据。
 
源端为DB2的配置与MySQL的类似，配置示例可参考[MySQL配置示例]。
#### DWS
[返回页首]
任务的"集成模式"为"定时"时，可以选择DWS（数据仓库服务）作为源端数据源，具体配置如下。
表5源端DWS信息 
| 参数        | 配置说明                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
|:---|:---|
| 插入SQL     | 选择是否使用SQL语句来获取源端数据。 - 开启，表示ROMA Connect根据填写的SQL语句来获取源端数据。  - 不开启，表示ROMA Connect根据界面配置的条件来获取源端数据。   若选择开启，则还需要填写查询数据的SQL语句。填写的语句必须为select语句并包含where条件，不能使用insert、update、delete、drop等语句。单击"检测SQL"，可以检测语句的有效性。 例如：语句**SELECT col01, col02 FROM table01 WHERE col02 IN('A', 'B', 'C') ORDER BY col01**，表示从table01数据表中选取col01和col02这两列的数据，筛选列col02中值为A、B或C的数据行，并按照列col01的值进行顺序排列。 |
| 源端表       | **仅当"插入SQL"选择不开启时需要配置。** 选择DWS数据源中要获取数据的数据表。选择数据表后，单击"选择表字段"，可以选择只需要集成的数据列字段。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
| 按字段排序     | **仅当"插入SQL"选择不开启时需要配置。** 要集成的数据是否按字段排序。若需要对集成的数据进行排序，则需要选择排序的参照字段，并选择"升序"或"降序"排序。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
| 是否增量迁移    | 选择是否只集成指定时间段内的数据。 首次调度采集是采集时间戳初始值到当前调度时间之间的数据，后续每一次调度采集的数据为上次采集成功的时间到当前时间之间的数据。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
| 时区        | **仅当"是否增量迁移"选择开启时需要配置。** 选择DWS数据源使用的时区，以便ROMA Connect识别数据的时间戳。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
| 时间戳字段     | **仅当"是否增量迁移"选择开启且"插入SQL"不开启时需要配置。** 选择数据表中"DATE"类型的字段作为源端数据的时间戳，用来判断数据是否满足增量集成的条件。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
| 时间戳初始值    | **仅当"是否增量迁移"选择开启时需要配置。** 首次集成数据时，要集成数据的起始时间，即只集成该时间点之后的数据。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
| 重置迁移时间初始值 | **该参数仅在编辑FDI任务时可配置。** 选择是否开启重置迁移时间初始值。 开启：开启后，增量迁移时每次调度时开始的时间为时间戳初始值配置的时间。 关闭：关闭时，增量迁移时每次调度的开始时间为上一次调度的结束时间。                                                                                                                                                                                                                                                                                                                                                                                                        |
| 时间补偿(毫秒)  | **仅当"是否增量迁移"选择开启时需要配置。** 为了避免源端生成数据时存在滞后，导致ROMA Connect查询源端增量数据出现遗漏，可通过时间补偿进行调整。获取数据的结束时间为当前系统时间减去时间补偿值。 例如：上一次增量迁移任务的结束时间是15:05，本次定时任务在17:00触发，时间补偿设为100ms，则本次增量迁移任务要集成数据的时间区间为"15:05\~（17:00-100ms）"。                                                                                                                                                                                                                                                                                                                                       |
| 条件筛选      | **仅当"插入SQL"选择不开启时需要配置。** 添加要集成数据的筛选条件，只把满足条件的源端数据集成到目标端。 例如：条件"and \| col02 \| equal \| A"表示只集成列col02中，值为"A"的数据行。                                                                                                                                                                                                                                                                                                                                                                                                                                |
| 扩展元数据     | **仅当"插入SQL"选择不开启时需要配置。** 当数据库中某个字段的值为JSON格式，且需要采集该JSON格式值中的底层key-value型数据元素时需要配置。 - 字段名：选择源表中需要采集子元素的数据字段名称。  - 类型：JSON格式字段值中，要采集的数据元素的数据类型。  - 解析路径：数据元素在JSON格式值中的完整路径，具体请参见[扩展元数据解析路径配置说明]。                                                                                                |
   
**扩展元数据解析路径配置说明**：
- JSON格式数据中不含数组
  如以下JSON格式数据，元素a的完整路径定义为**a** ，元素b的完整路径为**a.b** ，元素c的完整路径为**a.b.c** ，元素d的完整路径为**a.b.d**。元素c和d为底层数据元素，即需要通过ROMA Connect集成到目标端的数据。
  此场景下，元素c的解析路径需要设置为**a.b.c** ，元素d的解析路径需设置为**a.b.d**。
  ```
  {
     "a": {
        "b": {
           "c": "xx",
           "d": "xx"
        }
     }
  }
  ```
  
- JSON格式数据中含数组 如以下JSON格式数据，元素a的完整路径定义为**a** ，元素b的完整路径为**a.b** ，元素c的完整路径为**a.b\[i\].c** ，元素d的完整路径为**a.b\[i\].d**。元素c和d为底层数据元素，即需要通过ROMA Connect集成到目标端的数据。
  此场景下，元素c的解析路径需要设置为**a.b\[i\].c** ，元素d的解析路径需设置为**a.b\[i\].d**。
  ```
  {
     "a": {
        "b": [{
           "c": "xx",
           "d": "xx"
        },
        {
           "c": "yy",
           "d": "yy"
        }
        ]
     }
  }
  ```
  
![](https://support.huaweicloud.com/usermanual-roma/public_sys-resources/note_3.0-zh-cn.png)
- 增量迁移不支持将源端数据表中的物理删除操作同步给目标端，建议在源端使用逻辑删除。
- 对于源端的数据变更，需要同步更新数据行的时间戳，ROMA Connect通过时间戳与任务执行时间点进行对比，识别需增量迁移的数据。
 
源端为DWS的配置与MySQL的类似，配置示例可参考[MySQL配置示例]。
#### Kafka
[返回页首]
任务的"集成模式"为"实时"时，可以选择Kafka作为源端数据源，具体配置如下。
表6源端Kafka信息 
| 参数      | 配置说明                                                                                                                                                                                                                                                                                                                                                                                                                                             |
|:---|:---|
| Topic名称 | 选择要获取数据的Topic名称。                                                                                                                                                                                                                                                                                                                                                                                                                                 |
| 数据根字段   | 指从源端获取到的JSON格式数据中，元数据集上层公共字段的路径。"数据根字段"与元数据的"解析路径"组合，即为元数据的完整路径，具体请参见[元数据解析路径配置说明]。                                                                                                                                                                                                                                                                                                                              |
| 数据类型    | 选择从Kafka数据源获取的数据格式类型，需要与Kafka实际存储的数据格式一致，可选择格式为"JSON"。                                                                                                                                                                                                                                                                                                                                                                                           |
| 消费偏移设置  | 选择集成最早获取的消息数据还是最新获取的消息数据。                                                                                                                                                                                                                                                                                                                                                                                                                        |
| 时区      | 选择Kafka数据源使用的时区，以便ROMA Connect识别数据的时间戳。                                                                                                                                                                                                                                                                                                                                                                                                          |
| 元数据     | 指从源端获取到的JSON格式数据中，要集成到目标端的每一个底层key-value型数据元素。 - 别名：对元数据的自定义名称。  - 类型：元数据的数据类型，需要与源端数据中对应字段的数据类型一致。  - 解析路径：元数据的完整路径中，不包含数据根字段的路径部分，具体请参见[元数据解析路径配置说明]。   |
   
**元数据解析路径配置说明：**
- JSON格式数据中不含数组
  如以下JSON格式数据，元素a的完整路径定义为**a** ，元素b的完整路径为**a.b** ，元素c的完整路径为**a.b.c** ，元素d的完整路径为**a.b.d**。元素c和d为底层数据元素，即需要通过ROMA Connect集成到目标端的数据。
  ```
  {
     "a": {
        "b": {
           "c": "xx",
           "d": "xx"
        }
     }
  }
  ```
  此场景下，对于数据根字段和解析路径有三种配置方案：
  - 数据根字段不设置 元素c的解析路径需要设置为**a.b.c** ，元素d的解析路径需设置为**a.b.d**。
    
  
  - 数据根字段设置为**a**
    元数据的解析路径从元素a的下层路径开始。元素c的解析路径需要设置为**b.c** ，元素d的解析路径需设置为**b.d**。
    
  
  - 数据根字段设置为**a.b**
    元数据的解析路径从元素b的下层路径开始。元素c的解析路径需要设置为**c** ，元素d的解析路径需设置为**d**。
    
   
- JSON格式数据中含数组 如以下JSON格式数据，元素a的完整路径定义为**a** ，元素b的完整路径为**a.b** ，元素c的完整路径为**a.b\[i\].c** ，元素d的完整路径为**a.b\[i\].d**。元素c和d为底层数据元素，即需要通过ROMA Connect集成到目标端的数据。
  ```
  {
     "a": {
        "b": [{
           "c": "xx",
           "d": "xx"
        },
        {
           "c": "yy",
           "d": "yy"
        }
        ]
     }
  }
  ```
  此场景下，对于数据根字段和解析路径有三种配置方案：
  - 数据根字段不设置 元素c的解析路径需要设置为**a.b\[i\].c** ，元素d的解析路径需设置为**a.b\[i\].d**。
    
  
  - 数据根字段设置为**a**
    元数据的解析路径从元素a的下层路径开始。元素c的解析路径需要设置为**b\[i\].c** ，元素d的解析路径需设置为**b\[i\].d**。
    
  
  - 数据根字段设置为**a.b**
    元数据的解析路径从元素b的下层路径开始。元素c的解析路径需要设置为**\[i\].c** ，元素d的解析路径需设置为**\[i\].d**。
    
   
以上面JSON格式数据中不含数组的样例为例，源端为Kafka的配置示例如下图所示。
图5Kafka配置示例   
![](https://support.huaweicloud.com/usermanual-roma/zh-cn_image_0000001337714021.png "点击放大")
#### MySQL
[返回页首]
任务的"集成模式"为"定时"时，可以选择MySQL作为源端数据源，具体配置如下。
表7源端MySQL信息 
| 参数        | 配置说明                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
|:---|:---|
| 插入SQL     | 选择是否使用SQL语句来获取源端数据。 - 开启，表示ROMA Connect根据填写的SQL语句来获取源端数据。  - 不开启，表示ROMA Connect根据界面配置的条件来获取源端数据。   若选择开启，则还需要填写查询数据的SQL语句。填写的语句必须为select语句并包含where条件，不能使用insert、update、delete、drop等语句。单击"检测SQL"，可以检测语句的有效性。 例如，语句**SELECT col01, col02 FROM table01 WHERE col02 IN('A', 'B', 'C') ORDER BY col01**，表示从table01数据表中选取col01和col02这两列的数据，筛选列col02中值为A、B或C的数据行，并按照列col01的值进行顺序排列。 |
| 源端表       | **仅当"插入SQL"选择不开启时需要配置。** 选择MySQL数据源中要获取数据的数据表。选择数据表后，单击"选择表字段"，可以选择只需要集成的数据列字段。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
| 按字段排序     | **仅当"插入SQL"选择不开启时需要配置。** 要集成的数据是否按字段排序。若需要对集成的数据进行排序，则需要选择排序的参照字段，并选择"升序"或"降序"排序。                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| 是否增量迁移    | 选择是否只集成指定时间段内的数据。 首次调度采集是采集时间戳初始值到当前调度时间之间的数据，后续每一次调度采集的数据为上次采集成功的时间到当前时间之间的数据。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
| 时区        | **仅当"是否增量迁移"选择开启时需要配置。** 选择MySQL数据源使用的时区，以便ROMA Connect识别数据的时间戳。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
| 时间戳字段     | **仅当"是否增量迁移"选择开启且"插入SQL"不开启时需要配置。** 用于校验数据行是否符合数据集成条件，请选择一个"DATE"类型的字段。如果时间戳字段和时间戳初始值填写不完整，此任务默认为全量集成。                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
| 时间戳初始值    | **仅当"是否增量迁移"选择开启时需要配置。** 首次集成数据时，要集成数据的起始时间，即只集成该时间点之后的数据。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
| 重置迁移时间初始值 | **该参数仅在编辑FDI任务时可配置。** 选择是否开启重置迁移时间初始值。 开启：开启后，增量迁移时每次调度时开始的时间为时间戳初始值配置的时间。 关闭：关闭时，增量迁移时每次调度的开始时间为上一次调度的结束时间。                                                                                                                                                                                                                                                                                                                                                                                         |
| 时间补偿(毫秒)  | **仅当"是否增量迁移"选择开启时需要配置。** 为了避免源端生成数据时存在滞后，导致ROMA Connect查询源端增量数据出现遗漏，可通过时间补偿进行调整。获取数据的结束时间为当前系统时间减去时间补偿值。 例如，上一次增量迁移任务的结束时间是15:05，本次定时任务在17:00触发，时间补偿设为100ms，则本次增量迁移任务要集成数据的时间区间为"15:05\~（17:00-100ms）"。                                                                                                                                                                                                                                                                                                                           |
| 条件筛选      | **仅当"插入SQL"选择不开启时需要配置。** 添加要集成数据的筛选条件，只把满足条件的源端数据集成到目标端。 例如，条件"and \| col02 \| equal \| A"表示只集成列col02中，值为"A"的数据行。                                                                                                                                                                                                                                                                                                                                                                                                                 |
| 扩展元数据     | **仅当"插入SQL"选择不开启时需要配置。** 当数据库中某个字段的值为JSON格式，且需要采集该JSON格式值中的底层key-value型数据元素时需要配置。 - 字段名：选择源表中需要采集子元素的数据字段名称。  - 类型：JSON格式字段值中，要采集的数据元素的数据类型。  - 解析路径：数据元素在JSON格式值中的完整路径，具体请参见[扩展元数据解析路径配置说明]。                                                                             |
   
**扩展元数据解析路径配置说明**：
- JSON格式数据中不含数组
  如以下JSON格式数据，元素a的完整路径定义为**a** ，元素b的完整路径为**a.b** ，元素c的完整路径为**a.b.c** ，元素d的完整路径为**a.b.d**。元素c和d为底层数据元素，即需要通过ROMA Connect集成到目标端的数据。
  此场景下，元素c的解析路径需要设置为**a.b.c** ，元素d的解析路径需设置为**a.b.d**。
  ```
  {
     "a": {
        "b": {
           "c": "xx",
           "d": "xx"
        }
     }
  }
  ```
  
- JSON格式数据中含数组 如以下JSON格式数据，元素a的完整路径定义为**a** ，元素b的完整路径为**a.b** ，元素c的完整路径为**a.b\[i\].c** ，元素d的完整路径为**a.b\[i\].d**。元素c和d为底层数据元素，即需要通过ROMA Connect集成到目标端的数据。
  此场景下，元素c的解析路径需要设置为**a.b\[i\].c** ，元素d的解析路径需设置为**a.b\[i\].d**。
  ```
  {
     "a": {
        "b": [{
           "c": "xx",
           "d": "xx"
        },
        {
           "c": "yy",
           "d": "yy"
        }
        ]
     }
  }
  ```
  
![](https://support.huaweicloud.com/usermanual-roma/public_sys-resources/note_3.0-zh-cn.png)
- 增量迁移不支持将源端数据表中的物理删除操作同步给目标端，建议在源端使用逻辑删除。
- 对于源端的数据变更，需要同步更新数据行的时间戳，ROMA Connect通过时间戳与任务执行时间点进行对比，识别需增量迁移的数据。
 
以上面JSON格式数据中含数组的样例为例，目标端为MySQL的配置示例如下所示。
- 增量迁移配置示例，数据表中需包含DATE、TIME或TIMESTAMP类型的字段，用作时间戳字段。
  图6MySQL增量迁移配置示例   
  ![](https://support.huaweicloud.com/usermanual-roma/zh-cn_image_0000001179882755.png "点击放大") 
- 扩展元数据配置示例，从数据表的desc字段中获取子元素c和d。
  图7MySQL扩展元数据配置示例   
  ![](https://support.huaweicloud.com/usermanual-roma/zh-cn_image_0000001285693328.png "点击放大") 
 
#### MongoDB
[返回页首]
任务的"集成模式"为"定时"时，可以选择MongoDB作为源端数据源，具体配置如下。
表8源端MongoDB信息 
| 参数        | 配置说明                                                                                                                                                                                                                                                                 |
|:---|:---|
| 源表        | 选择MongoDB数据源中要获取数据的数据集合（数据集合相当于关系型数据库的数据表）。选择数据集合后，单击"选择集合字段"，可以选择只需要集成的数据列字段。                                                                                                                                                                                       |
| 是否增量迁移    | 选择是否只集成指定时间段内的数据。 首次调度采集是采集时间戳初始值到当前调度时间之间的数据，后续每一次调度采集的数据为上次采集成功的时间到当前时间之间的数据。                                                                                                                                                       |
| 时间戳字段     | **仅当"是否增量迁移"选择开启时需要配置。** 选择数据表中DATE、TIME或TIMESTAMP类型的字段作为源端数据的时间戳，用来判断数据是否满足增量集成的条件。                                                                                                                                                 |
| 时区        | **仅当"是否增量迁移"选择开启时需要配置。** 选择MongoDB数据源使用的时区，以便ROMA Connect识别数据的时间戳。                                                                                                                                                                   |
| 时间戳初始值    | **仅当"是否增量迁移"选择开启时需要配置。** 首次集成数据时，要集成数据的起始时间，即只集成该时间点之后的数据。                                                                                                                                                                             |
| 重置迁移时间初始值 | **该参数仅在编辑FDI任务时可配置。** 选择是否开启重置迁移时间初始值。 开启：开启后，增量迁移时每次调度时开始的时间为时间戳初始值配置的时间。 关闭：关闭时，增量迁移时每次调度的开始时间为上一次调度的结束时间。                                                                  |
| 时间补偿(毫秒)  | **仅当"是否增量迁移"选择开启时需要配置。** 为了避免源端生成数据时存在滞后，导致ROMA Connect查询源端增量数据出现遗漏，可通过时间补偿进行调整。获取数据的结束时间为当前系统时间减去时间补偿值。 例如，上一次增量迁移任务的结束时间是15:05，本次定时任务在17:00触发，时间补偿设为100ms，则本次增量迁移任务要集成数据的时间区间为"15:05\~（17:00-100ms）"。 |
   
![](https://support.huaweicloud.com/usermanual-roma/public_sys-resources/note_3.0-zh-cn.png)
- 增量迁移不支持将源端数据表中的物理删除操作同步给目标端，建议在源端使用逻辑删除。
- 对于源端的数据变更，需要同步更新数据行的时间戳，ROMA Connect通过时间戳与任务执行时间点进行对比，识别需增量迁移的数据。
 
源端为MongoDB的配置与MySQL的类似，配置示例可参考[MySQL配置示例]。
#### OBS
[返回页首]
任务的"集成模式"为"定时"时，可以选择OBS（对象存储服务）作为源端数据源，具体配置如下。
表9源端OBS信息 
| 参数     | 配置说明                                                                                                                                                                                                                                                                                                  |
|:---|:---|
| Path   | 填写OBS数据源中，要获取数据所在的对象名。Path的值不能以斜杠（/）结尾。                                                                                                                                                                                                                                                               |
| 文件名前缀  | 填写文件名前缀，与"时间格式"配合使用，用于筛选要集成的数据文件。                                                                                                                                                                                                                                                                     |
| 时间格式   | 选择文件名中的时间格式，与"文件名前缀"配合使用，用于筛选要集成的数据文件。                                                                                                                                                                                                                                                                |
| 文件类型   | 选择从OBS数据源获取的数据文件格式，可选择"txt"，"csv"和"zip"。                                                                                                                                                                                                                                                              |
| 字段分隔符  | 填写数据文件中的字段分隔符，用于区分每行数据中的不同字段。                                                                                                                                                                                                                                                                         |
| 编码方式   | 选择从OBS数据源获取的数据文件编码方式，可选择"UTF-8"和"GBK"。                                                                                                                                                                                                                                                                |
| 是否跳过标题 | 选择是否跳过数据文件中的标题行信息。标题为添加在文件中的首行或者开头若干行信息，帮助识别和区分文件内容。                                                                                                                                                                                                                                                  |
| 标题行数   | 填写数据文件中标题信息的行数，方便ROMA Connect识别文件中的数据起始行。                                                                                                                                                                                                                                                             |
| 元数据    | 指从源端获取到的数据文件中，要集成到目标端的每一个数据字段。元数据必须按照文件中的字段顺序填写。 - 别名：对元数据的自定义名称。  - 类型：元数据的数据类型，需要与源端数据中对应字段的数据类型一致。   |
   
源端为OBS的配置示例如下图所示，id、name和info为从OBS数据源获取，并要集成到目标端的数据字段。
图8OBS配置示例   
![](https://support.huaweicloud.com/usermanual-roma/zh-cn_image_0000001179953523.png "点击放大")
#### Oracle
[返回页首]
任务的"集成模式"为"定时"时，可以选择Oracle作为源端数据源，具体配置如下。
表10源端Oracle信息 
| 参数        | 配置说明                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
|:---|:---|
| 插入SQL     | 选择是否使用SQL语句来获取源端数据。 - 开启，表示ROMA Connect根据填写的SQL语句来获取源端数据。  - 不开启，表示ROMA Connect根据界面配置的条件来获取源端数据。   若选择开启，则还需要填写查询数据的SQL语句。填写的语句必须为select语句并包含where条件，不能使用insert、update、delete、drop等语句。单击"检测SQL"，可以检测语句的有效性。 例如，语句**SELECT col01, col02 FROM table01 WHERE col02 IN('A', 'B', 'C') ORDER BY col01**，表示从table01数据表中选取col01和col02这两列的数据，筛选列col02中值为A、B或C的数据行，并按照列col01的值进行顺序排列。 |
| 源端表       | **仅当"插入SQL"选择不开启时需要配置。** 选择Oracle数据源中要获取数据的数据表。选择数据表后，单击"选择表字段"，可以选择只需要集成的数据列字段。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| 按字段排序     | **仅当"插入SQL"选择不开启时需要配置。** 要集成的数据是否按字段排序。若需要对集成的数据进行排序，则需要选择排序的参照字段，并选择"升序"或"降序"排序。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| 是否增量迁移    | 选择是否只集成指定时间段内的数据。 首次调度采集是采集时间戳初始值到当前调度时间之间的数据，后续每一次调度采集的数据为上次采集成功的时间到当前时间之间的数据。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
| 时区        | **仅当"是否增量迁移"选择开启时需要配置。** 选择Oracle数据源使用的时区，以便ROMA Connect识别数据的时间戳。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| 时间戳字段     | **仅当"是否增量迁移"选择开启时需要配置。** 选择数据表中DATE、TIME或TIMESTAMP类型的字段作为源端数据的时间戳，用来判断数据是否满足增量集成的条件。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| 时间戳初始值    | **仅当"是否增量迁移"选择开启时需要配置。** 首次集成数据时，要集成数据的起始时间，即只集成该时间点之后的数据。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
| 重置迁移时间初始值 | **该参数仅在编辑FDI任务时可配置。** 选择是否开启重置迁移时间初始值。 开启：开启后，增量迁移时每次调度时开始的时间为时间戳初始值配置的时间。 关闭：关闭时，增量迁移时每次调度的开始时间为上一次调度的结束时间。                                                                                                                                                                                                                                                                                                                                                                                                        |
| 时间补偿(毫秒)  | **仅当"是否增量迁移"选择开启时需要配置。** 为了避免源端生成数据时存在滞后，导致ROMA Connect查询源端增量数据出现遗漏，可通过时间补偿进行调整。获取数据的结束时间为当前系统时间减去时间补偿值。 例如，上一次增量迁移任务的结束时间是15:05，本次定时任务在17:00触发，时间补偿设为100ms，则本次增量迁移任务要集成数据的时间区间为"15:05\~（17:00-100ms）"。                                                                                                                                                                                                                                                                                                                                          |
| 条件筛选      | **仅当"插入SQL"选择不开启时需要配置。** 添加要集成数据的筛选条件，只把满足条件的源端数据集成到目标端。 例如，条件"and \| col02 \| equal \| A"表示只集成列col02中，值为"A"的数据行。                                                                                                                                                                                                                                                                                                                                                                                                                               |
| 扩展元数据     | **仅当"插入SQL"选择不开启时需要配置。** 当数据库中某个字段的值为JSON格式，且需要采集该JSON格式值中的底层key-value型数据元素时需要配置。 - 字段名：选择源表中需要采集子元素的数据字段名称。  - 类型：JSON格式字段值中，要采集的数据元素的数据类型。  - 解析路径：数据元素在JSON格式值中的完整路径，具体请参见[扩展元数据解析路径配置说明]。                                                                                           |
   
**扩展元数据解析路径配置说明**：
- JSON格式数据中不含数组
  如以下JSON格式数据，元素a的完整路径定义为**a** ，元素b的完整路径为**a.b** ，元素c的完整路径为**a.b.c** ，元素d的完整路径为**a.b.d**。元素c和d为底层数据元素，即需要通过ROMA Connect集成到目标端的数据。
  此场景下，元素c的解析路径需要设置为**a.b.c** ，元素d的解析路径需设置为**a.b.d**。
  ```
  {
     "a": {
        "b": {
           "c": "xx",
           "d": "xx"
        }
     }
  }
  ```
  
- JSON格式数据中含数组 如以下JSON格式数据，元素a的完整路径定义为**a** ，元素b的完整路径为**a.b** ，元素c的完整路径为**a.b\[i\].c** ，元素d的完整路径为**a.b\[i\].d**。元素c和d为底层数据元素，即需要通过ROMA Connect集成到目标端的数据。
  此场景下，元素c的解析路径需要设置为**a.b\[i\].c** ，元素d的解析路径需设置为**a.b\[i\].d**。
  ```
  {
     "a": {
        "b": [{
           "c": "xx",
           "d": "xx"
        },
        {
           "c": "yy",
           "d": "yy"
        }
        ]
     }
  }
  ```
  
![](https://support.huaweicloud.com/usermanual-roma/public_sys-resources/note_3.0-zh-cn.png)
- 增量迁移不支持将源端数据表中的物理删除操作同步给目标端，建议在源端使用逻辑删除。
- 对于源端的数据变更，需要同步更新数据行的时间戳，ROMA Connect通过时间戳与任务执行时间点进行对比，识别需增量迁移的数据。
 
源端为Oracle的配置与MySQL的类似，配置示例可参考[MySQL配置示例]。
#### PostgreSQL
[返回页首]
任务的"集成模式"为"定时"时，可以选择PostgreSQL作为源端数据源，具体配置如下。
表11源端PostgreSQL信息 
| 参数        | 配置说明                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
|:---|:---|
| 插入SQL     | 选择是否使用SQL语句来获取源端数据。 - 开启，表示ROMA Connect根据填写的SQL语句来获取源端数据。  - 不开启，表示ROMA Connect根据界面配置的条件来获取源端数据。   若选择开启，则还需要填写查询数据的SQL语句。填写的语句必须为select语句并包含where条件，不能使用insert、update、delete、drop等语句。单击"检测SQL"，可以检测语句的有效性。 例如，语句**SELECT col01, col02 FROM table01 WHERE col02 IN('A', 'B', 'C') ORDER BY col01**，表示从table01数据表中选取col01和col02这两列的数据，筛选列col02中值为A、B或C的数据行，并按照列col01的值进行顺序排列。 |
| 源端表       | **仅当"插入SQL"选择不开启时需要配置。** 选择PostgreSQL数据源中要获取数据的数据表。选择数据表后，单击"选择表字段"，可以选择只需要集成的数据列字段。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
| 按字段排序     | **仅当"插入SQL"选择不开启时需要配置。** 要集成的数据是否按字段排序。若需要对集成的数据进行排序，则需要选择排序的参照字段，并选择"升序"或"降序"排序。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
| 是否增量迁移    | 选择是否只集成指定时间段内的数据。 首次调度采集是采集时间戳初始值到当前调度时间之间的数据，后续每一次调度采集的数据为上次采集成功的时间到当前时间之间的数据。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
| 时区        | **仅当"是否增量迁移"选择开启时需要配置。** 选择PostgreSQL数据源使用的时区，以便ROMA Connect识别数据的时间戳。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| 时间戳字段     | **仅当"是否增量迁移"选择开启时需要配置。** 选择数据表中DATE、TIME或TIMESTAMP类型的字段作为源端数据的时间戳，用来判断数据是否满足增量集成的条件。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| 时间戳初始值    | **仅当"是否增量迁移"选择开启时需要配置。** 首次集成数据时，要集成数据的起始时间，即只集成该时间点之后的数据。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
| 重置迁移时间初始值 | **该参数仅在编辑FDI任务时可配置。** 选择是否开启重置迁移时间初始值。 开启：开启后，增量迁移时每次调度时开始的时间为时间戳初始值配置的时间。 关闭：关闭时，增量迁移时每次调度的开始时间为上一次调度的结束时间。                                                                                                                                                                                                                                                                                                                                                                                                        |
| 时间补偿(毫秒)  | **仅当"是否增量迁移"选择开启时需要配置。** 为了避免源端生成数据时存在滞后，导致ROMA Connect查询源端增量数据出现遗漏，可通过时间补偿进行调整。获取数据的结束时间为当前系统时间减去时间补偿值。 例如，上一次增量迁移任务的结束时间是15:05，本次定时任务在17:00触发，时间补偿设为100ms，则本次增量迁移任务要集成数据的时间区间为"15:05\~（17:00-100ms）"。                                                                                                                                                                                                                                                                                                                                          |
| 条件筛选      | **仅当"插入SQL"选择不开启时需要配置。** 添加要集成数据的筛选条件，只把满足条件的源端数据集成到目标端。 例如，条件"and \| col02 \| equal \| A"表示只集成列col02中，值为"A"的数据行。                                                                                                                                                                                                                                                                                                                                                                                                                                   |
| 扩展元数据     | **仅当"插入SQL"选择不开启时需要配置。** 当数据库中某个字段的值为JSON格式，且需要采集该JSON格式值中的底层key-value型数据元素时需要配置。 - 字段名：选择源表中需要采集子元素的数据字段名称。  - 类型：JSON格式字段值中，要采集的数据元素的数据类型。  - 解析路径：数据元素在JSON格式值中的完整路径，具体请参见[扩展元数据解析路径配置说明]。                                                                                       |
   
**扩展元数据解析路径配置说明**：
- JSON格式数据中不含数组
  如以下JSON格式数据，元素a的完整路径定义为**a** ，元素b的完整路径为**a.b** ，元素c的完整路径为**a.b.c** ，元素d的完整路径为**a.b.d**。元素c和d为底层数据元素，即需要通过ROMA Connect集成到目标端的数据。
  此场景下，元素c的解析路径需要设置为**a.b.c** ，元素d的解析路径需设置为**a.b.d**。
  ```
  {
     "a": {
        "b": {
           "c": "xx",
           "d": "xx"
        }
     }
  }
  ```
  
- JSON格式数据中含数组 如以下JSON格式数据，元素a的完整路径定义为**a** ，元素b的完整路径为**a.b** ，元素c的完整路径为**a.b\[i\].c** ，元素d的完整路径为**a.b\[i\].d**。元素c和d为底层数据元素，即需要通过ROMA Connect集成到目标端的数据。
  此场景下，元素c的解析路径需要设置为**a.b\[i\].c** ，元素d的解析路径需设置为**a.b\[i\].d**。
  ```
  {
     "a": {
        "b": [{
           "c": "xx",
           "d": "xx"
        },
        {
           "c": "yy",
           "d": "yy"
        }
        ]
     }
  }
  ```
  
![](https://support.huaweicloud.com/usermanual-roma/public_sys-resources/note_3.0-zh-cn.png)
- 增量迁移不支持将源端数据表中的物理删除操作同步给目标端，建议在源端使用逻辑删除。
- 对于源端的数据变更，需要同步更新数据行的时间戳，ROMA Connect通过时间戳与任务执行时间点进行对比，识别需增量迁移的数据。
 
源端为PostgreSQL的配置与MySQL的类似，配置示例可参考[MySQL配置示例]。
#### RabbitMQ
[返回页首]
任务的"集成模式"为"实时"时，可以选择RabbitMQ作为源端数据源，具体配置如下。
表12源端RabbitMQ信息 
| 参数      | 配置说明                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
|:---|:---|
| 是否创建新队列 | 选择是否在源端RabbitMQ数据源创建一个新队列。 - 选择是，表示创建一个新队列，并从该队列获取数据。  - 选择否，表示从已有队列中获取数据。                                                                                                                                                                                                                                                                                                    |
| 交换方式    | **仅当"是否创建新队列"选择"是"时需要配置。** 选择RabbitMQ中交换器将消息转发到新队列的路由方式。 - Direct：若消息的路由关键字与队列完全匹配，则消息会转发到队列。  - Topic：若消息的路由关键字与队列模糊匹配，则消息会转发到队列。  - Fanout：所有消息都会转发到队列。  - Headers：若消息的Headers属性与队列完全匹配，则消息会转发到队列。   |
| 交换机名称   | **仅当"是否创建新队列"选择"是"时需要配置**。 填写RabbitMQ中新队列的交换器名称，自定义。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
| 路由关键字   | **仅当"交换方式"选择"Direct"或"Topic"时需要配置。** 填写新队列的路由关键字，RabbitMQ把路由关键字作为判断条件，符合条件的消息将转发到新队列。                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
| 消息参数    | **仅当"交换方式"选择"Headers"时需要配置。** 填写新队列的Headers键值对，RabbitMQ把Headers作为判断条件，符合条件的消息将转发到新队列。                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
| 队列名称    | 填写要获取数据的消息队列名称。 - 若"是否创建新队列"选择"是"，则自定义一个新的队列名称。  - 若"是否创建新队列"选择"否"，则填写RabbitMQ数据源中已有队列的名称，并确保该队列已存在。                                                                                                                                                                                                                                                                                  |
| 自动删除    | 当没有客户端连接队列时，队列是否自动删除。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
| 持久化     | 队列中的消息是否持久化保存。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
| 元数据     | 指从源端获取到的JSON格式数据中，要集成到目标端的每一个底层key-value型数据元素。 - 别名：对元数据的自定义名称。  - 类型：元数据的数据类型，需要与源端数据中对应字段的数据类型一致。  - 解析路径：元数据的完整路径，具体请参见[元数据解析路径配置说明]。                                                                                                                                                  |
   
**元数据解析路径配置说明：**
- JSON格式数据中不含数组
  如以下JSON格式数据，元素a的完整路径定义为**a** ，元素b的完整路径为**a.b** ，元素c的完整路径为**a.b.c** ，元素d的完整路径为**a.b.d**。元素c和d为底层数据元素，即需要通过ROMA Connect集成到目标端的数据。
  此场景下，元素c的解析路径需要设置为**a.b.c** ，元素d的解析路径需设置为**a.b.d**。
  ```
  {
     "a": {
        "b": {
           "c": "xx",
           "d": "xx"
        }
     }
  }
  ```
  
- JSON格式数据中含数组 如以下JSON格式数据，元素a的完整路径定义为**a** ，元素b的完整路径为**a.b** ，元素c的完整路径为**a.b\[i\].c** ，元素d的完整路径为**a.b\[i\].d**。元素c和d为底层数据元素，即需要通过ROMA Connect集成到目标端的数据。
  此场景下，元素c的解析路径需要设置为**a.b\[i\].c** ，元素d的解析路径需设置为**a.b\[i\].d**。
  ```
  {
     "a": {
        "b": [{
           "c": "xx",
           "d": "xx"
        },
        {
           "c": "yy",
           "d": "yy"
        }
        ]
     }
  }
  ```
  
以上面JSON格式数据中不含数组的样例为例，源端为RabbitMQ的配置示例如下图所示。
图9RabbitMQ配置示例   
![](https://support.huaweicloud.com/usermanual-roma/zh-cn_image_0000001179957453.png "点击放大")
#### SQL Server
[返回页首]
任务的"集成模式"为"定时"时，可以选择SQL Server作为源端数据源，具体配置如下。
表13源端SQL Server信息 
| 参数        | 配置说明                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
|:---|:---|
| 插入SQL     | 选择是否使用SQL语句来获取源端数据。 - 开启，表示ROMA Connect根据填写的SQL语句来获取源端数据。  - 不开启，表示ROMA Connect根据界面配置的条件来获取源端数据。   若选择开启，则还需要填写查询数据的SQL语句。填写的语句必须为select语句并包含where条件，不能使用insert、update、delete、drop等语句。单击"检测SQL"，可以检测语句的有效性。 例如，语句**SELECT col01, col02 FROM table01 WHERE col02 IN('A', 'B', 'C') ORDER BY col01**，表示从table01数据表中选取col01和col02这两列的数据，筛选列col02中值为A、B或C的数据行，并按照列col01的值进行顺序排列。 |
| 源端表       | **仅当"插入SQL"选择不开启时需要配置。** 选择SQL Server数据源中要获取数据的数据表。选择数据表后，单击"选择表字段"，可以选择只需要集成的数据列字段。                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
| 按字段排序     | **仅当"插入SQL"选择不开启时需要配置。** 要集成的数据是否按字段排序。若需要对集成的数据进行排序，则需要选择排序的参照字段，并选择"升序"或"降序"排序。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
| 是否增量迁移    | 选择是否只集成指定时间段内的数据。 首次调度采集是采集时间戳初始值到当前调度时间之间的数据，后续每一次调度采集的数据为上次采集成功的时间到当前时间之间的数据。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
| 时区        | **仅当"是否增量迁移"选择开启时需要配置。** 选择SQL Server数据源使用的时区，以便ROMA Connect识别数据的时间戳。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
| 时间戳字段     | **仅当"是否增量迁移"选择开启时需要配置。** 选择数据表中DATE、TIME或TIMESTAMP类型的字段作为源端数据的时间戳，用来判断数据是否满足增量集成的条件。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
| 时间戳初始值    | **仅当"是否增量迁移"选择开启时需要配置。** 首次集成数据时，要集成数据的起始时间，即只集成该时间点之后的数据。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
| 重置迁移时间初始值 | **该参数仅在编辑FDI任务时可配置。** 选择是否开启重置迁移时间初始值。 开启：开启后，增量迁移时每次调度时开始的时间为时间戳初始值配置的时间。 关闭：关闭时，增量迁移时每次调度的开始时间为上一次调度的结束时间。                                                                                                                                                                                                                                                                                                                                                                                         |
| 时间补偿(毫秒)  | **仅当"是否增量迁移"选择开启时需要配置。** 为了避免源端生成数据时存在滞后，导致ROMA Connect查询源端增量数据出现遗漏，可通过时间补偿进行调整。获取数据的结束时间为当前系统时间减去时间补偿值。 例如，上一次增量迁移任务的结束时间是15:05，本次定时任务在17:00触发，时间补偿设为100ms，则本次增量迁移任务要集成数据的时间区间为"15:05\~（17:00-100ms）"。                                                                                                                                                                                                                                                                                                                            |
| 条件筛选      | **仅当"插入SQL"选择不开启时需要配置。** 添加要集成数据的筛选条件，只把满足条件的源端数据集成到目标端。 例如，条件"and \| col02 \| equal \| A"表示只集成列col02中，值为"A"的数据行。                                                                                                                                                                                                                                                                                                                                                                                                                     |
| 扩展元数据     | **仅当"插入SQL"选择不开启时需要配置。** 当数据库中某个字段的值为JSON格式，且需要采集该JSON格式值中的底层key-value型数据元素时需要配置。 - 字段名：选择源表中需要采集子元素的数据字段名称。  - 类型：JSON格式字段值中，要采集的数据元素的数据类型。  - 解析路径：数据元素在JSON格式值中的完整路径，具体请参见[扩展元数据解析路径配置说明]。                                                                       |
   
**扩展元数据解析路径配置说明**：
- JSON格式数据中不含数组
  如以下JSON格式数据，元素a的完整路径定义为**a** ，元素b的完整路径为**a.b** ，元素c的完整路径为**a.b.c** ，元素d的完整路径为**a.b.d**。元素c和d为底层数据元素，即需要通过ROMA Connect集成到目标端的数据。
  此场景下，元素c的解析路径需要设置为**a.b.c** ，元素d的解析路径需设置为**a.b.d**。
  ```
  {
     "a": {
        "b": {
           "c": "xx",
           "d": "xx"
        }
     }
  }
  ```
  
- JSON格式数据中含数组 如以下JSON格式数据，元素a的完整路径定义为**a** ，元素b的完整路径为**a.b** ，元素c的完整路径为**a.b\[i\].c** ，元素d的完整路径为**a.b\[i\].d**。元素c和d为底层数据元素，即需要通过ROMA Connect集成到目标端的数据。
  此场景下，元素c的解析路径需要设置为**a.b\[i\].c** ，元素d的解析路径需设置为**a.b\[i\].d**。
  ```
  {
     "a": {
        "b": [{
           "c": "xx",
           "d": "xx"
        },
        {
           "c": "yy",
           "d": "yy"
        }
        ]
     }
  }
  ```
  
![](https://support.huaweicloud.com/usermanual-roma/public_sys-resources/note_3.0-zh-cn.png)
- 增量迁移不支持将源端数据表中的物理删除操作同步给目标端，建议在源端使用逻辑删除。
- 对于源端的数据变更，需要同步更新数据行的时间戳，ROMA Connect通过时间戳与任务执行时间点进行对比，识别需增量迁移的数据。
 
源端为SQL Server的配置与MySQL的类似，配置示例可参考[MySQL配置示例]。
