云服务器内容精选

  • 脚本模式 可通过编辑JavaScript脚本来配置源端数据(sourceObj指源表的字段集合对象)和目标端数据(targetObj指目标表的字段集合对象)的Mapping映射关系信息,增强复杂对象的Mapping处理能力。 脚本映射样例: 样例模板。 function excute(sourceObj){ //请在此处编写脚本内容, 注意大小写敏感。 //定义目标端数据对象 targetObj = {}; //支持普通的加减乘除运算 targetObj.a= (sourceObj.id * 3 + 1) % 5; //支持js的Math函数 targetObj.b= Math.sqrt(100); //支持类型转换 targetObj.c = Number("3.14"); //支持调用系统的时间函数 targetObj.date = new Date().toLocaleString(); //支持正则表达式 targetObj.fdi = sourceObj.name.replace(/world/i,"fdi"); //支持json转换 var json = JSON.parse(sourceObj.infoJson); targetObj.address = json.address; targetObj.age = json.age; targetObj.sex = json.other.sex; targetObj.hobby = json.other.hobby; //支持条件语句 if(targetObj.hobby == "rap"){ targetObj.ikun = true; }else{ targetObj.ikun = false; } return targetObj; } 仅字段映射。 function excute(sourceObject) {//sourceObject即源端传送的数据对象 //请在此处编写脚本内容; var targetObject = {}; targetObject.mqs_id = sourceObject.id;//映射源端数据表中的id字段至目标端字段mqs_id targetObject.mqs_name = sourceObject.name; targetObject.mqs_date = sourceObject.date; targetObject.mqs_date = sourceObject['customized-outdutydate'];//属性带中划线的字段,需要使用中括号进行引用 return targetObject; //targetObject即返回给目标端的数据对象 } 目标端数据源类型为API。 API数据类型的目标端需要分别使用三个对象进行传递,对象包含params、headers和body。 function excute(sourceObj) { print("execute js"); print(sourceObj); var targetObj = {}; targetObj.params = {}; targetObj.params.id = sourceObj.uid targetObj.headers = {}; targetObj.headers['X-HW-ID'] = "应用ID"; targetObj.headers['X-HW-APPKEY'] = "应用密钥"; targetObj.body = {}; return obj; } 如果转换的数据存在时间类型。则JS脚本中需参考以下加黑字段修改: 编排模式下,目标端数据源类型为API,且使用JS脚本进行数据转换时,会自动先将源端类型为Date的数据类型转换为yyyy-MM-dd HH:mm:ss的字符串类型。例如,源端时间数据为19:55:20,通过JS脚本转换后会变为1970-01-01 19:55:20,而不是预期的19:55:20。其中1970-01-01为系统统一添加的默认值。 如果要目标端要获得指定格式的数据,需要参考下述示例在JS脚本中对时间数据进行转换。 function excute(sourceObj) { /** * 自定义时间格式函数 * @param {format} 时间显示格式 */ Date.prototype.format = function (format) { var date = { "M+": this.getMonth() + 1, "d+": this.getDate(), "h+": this.getHours(), "m+": this.getMinutes(), "s+": this.getSeconds(), "q+": Math.floor((this.getMonth() + 3) / 3), "S": this.getMilliseconds() }; if (/(y+)/i.test(format)) { format = format.replace(RegExp.$1, (this.getFullYear() + '').substr(4 - RegExp.$1.length)); } for (var k in date) { if (new RegExp("(" + k + ")").test(format)) { format = format.replace(RegExp.$1, RegExp.$1.length == 1 ? date[k] : ("00" + date[k]).substr(("" + date[k]).length)); } } return format; }; print("execute js"); print(sourceObj); var targetObj = {}; targetObj.params = {}; targetObj.params.id = sourceObj.uid //对时间格式的数据进行转换时,调用上述自定义的函数进行处理, 抽取时、分、秒部分的数据给目标字段。 //其中下述代码中的HH:mm:ss为时分秒时间的显示格式。如果写为hhmmss,则返回给目标字段的格式不带冒号。 targetObj.params.time = (new Date(sourceObj.time)).format("hh:mm:ss"); targetObj.headers = {}; targetObj.headers['X-HW-ID'] = "应用ID"; targetObj.headers['X-HW-APPKEY'] = "应用密钥"; targetObj.body = {}; return obj; } 数据库字段涉及多层json解析。 如果源端数据对象包含的字段涉及多层json对象嵌套,则需要对每一个解析出来的字段使用“[]”引用。 例如如下脚本表示root字段包含id、name、double等多层对象嵌套,则每一个解析的字段需要单独引用。 function excute(sourceObject) { //请在此处编写脚本内容; var targetObject = {}; targetObject.mqs_id = sourceObject["root.id"]; targetObject.mqs_name = sourceObject["root.name"]; targetObject.mqs_double = sourceObject["root.double"]; targetObject.mqs_date = sourceObject["root.date"]; targetObject.mqs_boolean = sourceObject["root.boolean"]; targetObject.mqs_timestamp = sourceObject["root.timestamp"]; targetObject.mqs_time = sourceObject["root.time"]; targetObject.mqs_long = sourceObject["root.long"]; return targetObject; }
  • 映射模式 自动配置Mapping 若源端信息与目标端信息中都定义了元数据,可使用“自动Mapping”方式配置Mapping信息。 单击“自动Mapping”,源端和目标端数据字段间的映射规则自动建立。 源端或目标端数据类型为API时,数据字段不支持自动Mapping,需要手动配置Mapping。 图1 自动Mapping 手动配置Mapping 如果两端的数据表字段不一致,可单击下方的“添加mapping映射”,配置源端数据字段到目标端数据字段的映射关系。 用户可以手动添加源端数据字段与目标端数据字段的映射规则,该方式适用于所有数据类型的集成场景。可以通过键值对输入或文本框输入两种方式配置Mapping映射规则。
  • 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" } ] } } 增量迁移不支持将源端数据表中的物理删除操作同步给目标端,建议在源端使用逻辑删除。 对于源端的数据变更,需要同步更新数据行的时间戳,ROMA Connect通过时间戳与任务执行时间点进行对比,识别需增量迁移的数据。 源端为SQL Server的配置与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" } ] } } 增量迁移不支持将源端数据表中的物理删除操作同步给目标端,建议在源端使用逻辑删除。 对于源端的数据变更,需要同步更新数据行的时间戳,ROMA Connect通过时间戳与任务执行时间点进行对比,识别需增量迁移的数据。 源端为PostgreSQL的配置与MySQL的类似,配置示例可参考MySQL配置示例。
  • 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" } ] } } 增量迁移不支持将源端数据表中的物理删除操作同步给目标端,建议在源端使用逻辑删除。 对于源端的数据变更,需要同步更新数据行的时间戳,ROMA Connect通过时间戳与任务执行时间点进行对比,识别需增量迁移的数据。 源端为Oracle的配置与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的配置示例如下图所示。 图9 RabbitMQ配置示例
  • MongoDB 返回页首 任务的“集成模式”为“定时”时,可以选择MongoDB作为源端数据源,具体配置如下。 表8 源端MongoDB信息 参数 配置说明 源表 选择MongoDB数据源中要获取数据的数据集合(数据集合相当于关系型数据库的数据表)。选择数据集合后,单击“选择集合字段”,可以选择只需要集成的数据列字段。 是否增量迁移 选择是否只集成指定时间段内的数据。 首次调度采集是采集时间戳初始值到当前调度时间之间的数据,后续每一次调度采集的数据为上次采集成功的时间到当前时间之间的数据。 时间戳字段 仅当“是否增量迁移”选择开启时需要配置。 选择数据表中DATE、TIME或TIMESTAMP类型的字段作为源端数据的时间戳,用来判断数据是否满足增量集成的条件。 时区 仅当“是否增量迁移”选择开启时需要配置。 选择MongoDB数据源使用的时区,以便ROMA Connect识别数据的时间戳。 时间戳初始值 仅当“是否增量迁移”选择开启时需要配置。 首次集成数据时,要集成数据的起始时间,即只集成该时间点之后的数据。 重置迁移时间初始值 该参数仅在编辑FDI任务时可配置。 选择是否开启重置迁移时间初始值。 开启:开启后,增量迁移时每次调度时开始的时间为时间戳初始值配置的时间。 关闭:关闭时,增量迁移时每次调度的开始时间为上一次调度的结束时间。 时间补偿(毫秒) 仅当“是否增量迁移”选择开启时需要配置。 为了避免源端生成数据时存在滞后,导致ROMA Connect查询源端增量数据出现遗漏,可通过时间补偿进行调整。获取数据的结束时间为当前系统时间减去时间补偿值。 例如,上一次增量迁移任务的结束时间是15:05,本次定时任务在17:00触发,时间补偿设为100ms,则本次增量迁移任务要集成数据的时间区间为“15:05~(17:00-100ms)”。 增量迁移不支持将源端数据表中的物理删除操作同步给目标端,建议在源端使用逻辑删除。 对于源端的数据变更,需要同步更新数据行的时间戳,ROMA Connect通过时间戳与任务执行时间点进行对比,识别需增量迁移的数据。 源端为MongoDB的配置与MySQL的类似,配置示例可参考MySQL配置示例。
  • 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" } ] } } 增量迁移不支持将源端数据表中的物理删除操作同步给目标端,建议在源端使用逻辑删除。 对于源端的数据变更,需要同步更新数据行的时间戳,ROMA Connect通过时间戳与任务执行时间点进行对比,识别需增量迁移的数据。 以上面JSON格式数据中含数组的样例为例,目标端为MySQL的配置示例如下所示。 增量迁移配置示例,数据表中需包含DATE、TIME或TIMESTAMP类型的字段,用作时间戳字段。 图6 MySQL增量迁移配置示例 扩展元数据配置示例,从数据表的desc字段中获取子元素c和d。 图7 MySQL扩展元数据配置示例
  • OBS 返回页首 任务的“集成模式”为“定时”时,可以选择OBS( 对象存储服务 )作为源端数据源,具体配置如下。 表9 源端OBS信息 参数 配置说明 Path 填写OBS数据源中,要获取数据所在的对象名。Path的值不能以斜杠(/)结尾。 文件名前缀 填写文件名前缀,与“时间格式”配合使用,用于筛选要集成的数据文件。 时间格式 选择文件名中的时间格式,与“文件名前缀”配合使用,用于筛选要集成的数据文件。 文件类型 选择从OBS数据源获取的数据文件格式,可选择“txt”,“csv”和“zip”。 字段分隔符 填写数据文件中的字段分隔符,用于区分每行数据中的不同字段。 编码方式 选择从OBS数据源获取的数据文件编码方式,可选择“UTF-8”和“GBK”。 是否跳过标题 选择是否跳过数据文件中的标题行信息。标题为添加在文件中的首行或者开头若干行信息,帮助识别和区分文件内容。 标题行数 填写数据文件中标题信息的行数,方便ROMA Connect识别文件中的数据起始行。 元数据 指从源端获取到的数据文件中,要集成到目标端的每一个数据字段。元数据必须按照文件中的字段顺序填写。 别名:对元数据的自定义名称。 类型:元数据的数据类型,需要与源端数据中对应字段的数据类型一致。 源端为OBS的配置示例如下图所示,id、name和info为从OBS数据源获取,并要集成到目标端的数据字段。 图8 OBS配置示例
  • 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的配置示例如下图所示。 图5 Kafka配置示例
  • 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" } ] } } 增量迁移不支持将源端数据表中的物理删除操作同步给目标端,建议在源端使用逻辑删除。 对于源端的数据变更,需要同步更新数据行的时间戳,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" } ] } } 增量迁移不支持将源端数据表中的物理删除操作同步给目标端,建议在源端使用逻辑删除。 对于源端的数据变更,需要同步更新数据行的时间戳,ROMA Connect通过时间戳与任务执行时间点进行对比,识别需增量迁移的数据。 源端为DWS的配置与MySQL的类似,配置示例可参考MySQL配置示例。
  • 概述 本节主要介绍编排任务连接后的连接配置。提供了编排任务源端信息的配置说明。源端信息用于告诉ROMA Connect如何从源端获取待集成的数据,包括数据源、数据格式、数据范围等。对于不同的数据源类型,其源端信息配置有所差异。 支持“定时”模式的源端数据类型 支持“实时”模式的源端数据类型 API DB2 DWS MySQL MongoDB OBS Oracle PostgreSQL SQL Server ActiveMQ ArtemisMQ Kafka RabbitMQ
  • ArtemisMQ 返回页首 任务的“集成模式”为“实时”时,可以选择ArtemisMQ作为源端数据源。 在创建任务页面中配置源端信息。 表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配置示例。
  • 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的配置示例如下图所示。 图4 ActiveMQ配置示例