REAT_API 数据源,为您提供离线任务读取 REAT_API 通道的功能,实现与其他数据源之间的数据传输能力。
本文为您介绍 DataSail 的 REAT_API 数据同步的能力支持情况。
类型分类 | 数据类型 | 备注 |
---|---|---|
整数类型 | LONG | DATETIME 可以转为 LONG 时间戳 |
字符串类型 | STRING | |
浮点类型 | DOUBLE | |
布尔类型 | BOOLEAN | |
日期时间类型 | DATE | DATETIME 需要转为 LONG 时间戳 |
列表类型 | LIST | 支持的元素类型:BOOLEAN,LONG,DOUBLE,INTEGER |
键值对类型 | MAP | 键、值支持的类型:LONG,STRING,DOUBLE,BOOLEAN,DATE |
新建数据源操作详见配置数据源,下面为您介绍配置 REST_API 数据源信息说明:
其中参数名称前带 * 的为必填参数,名称前未带 * 的为可选填参数。
参数 | 说明 |
---|---|
基本配置 | |
*数据源类型 | REST_API |
*接入方式 | 目前仅支持公网方式接入。 |
*数据源名称 | 数据源的名称,可自行设置,仅支持中文,英文,数字,“_”,100个字符以内。 |
描述 | 对当前新建数据源的注释说明,方便后续进行管理。 |
参数配置 | |
*API Url | 输入源端 API Url 链接地址。 |
默认请求头 | 默认的请求头格式,例如:{"Auxxxxxxxion":"Bearer sext-txxxn-1"} |
*验证方式 | REST_API 数据源注册时,目前支持以下三种验证方式,您可根据实际场景选择鉴权模式:
|
REST_API 数据源测试连通性成功后,进入到数据开发界面,开始新建 REST_API 相关通道任务。
新建任务方式详见离线数据同步。
任务创建成功后,您可根据实际场景,配置 REST_API 批式读通道任务。
说明
目前暂不支持配置 REST_API 批式写通道。
数据来源选择 REST_API,并完成以下相关参数配置:
其中参数名称前带 * 的为必填参数,名称前未带 * 的为可选填参数。
参数项 | 说明 |
---|---|
*数据源类型 | REST_API |
*数据源名称 | 下拉选择已注册成功的 REST_API 数据源。 |
*是否拼接 header | 您可按需选择是否在 REST_API 中拼接 header 信息。 |
*Header 拼接值 | 当您选择需要拼接 header 时,Header 拼接值为必填项,您可在此输入具体的拼接值信息。 |
*请求 Method | 请求方法支持 GET 和 POST,两种方式。 |
请求参数 | 输入传递给 API 的请求参数信息:
|
*返回数据结构 | 接口返回数据的类型,返回一条数据或者一组数据。 |
*数据格式 | 支持 json 的格式。 |
数据存储 json 路径 | 输入单条或者数组数据存储的 json path 路径,将会读取您输入 path 路径下的 json 内容。 |
*预览数据 | 单击自动获取按钮,便可自动获取并预览展示 API 中的数据,检查数据格式情况。 |
*请求次数 | 选择 reader 端是单次请求、多次请求或分页请求,多次/分页请求需要配置参数:
|
数据来源和目标端配置完成后,需要指定来源和目标端的字段映射关系,根据字段映射关系,数据集成任务将源端字段中的数据,写入到目标端对应字段中。
字段映射支持选择基础模式和转换模式配置映射:
注意
基础模式和转换模式不支持互相切换,模式切换后,将清空现有字段映射中所有配置信息,一旦切换无法撤销,需谨慎操作。
转换模式:
字段映射支持数据转换,您可根据实际业务需求进行配置,将源端采集的数据,事先通过数据转换后,以指定格式输入到目标端数据库中。
转换模式详细操作说明详见4.1 转换模式
在转换模式中,你可依次配置:来源节点、数据转换、目标节点信息:
配置节点 | 说明 |
---|---|
来源节点 | 配置数据来源 Source 节点信息:
配置完成后,单击确认按钮,完成来源节点配置。 |
数据转换 | 单击数据转换右侧添加按钮,选择 SQL 转换方式,配置转换信息和规则:
配置完成后,单击确认按钮,完成数据转换节点配置。SQL 脚本示例详见4.1.2 添加转换节点。 |
目标节点 | 配置目标节点 Sink 信息:
配置完成后,单击确认按钮,完成目标节点配置。 |
基础模式:
您可通过以下三种方式操作字段映射关系:
REST_API 数据源同时也支持使用脚本模式(DSL)的方式进行配置。
在某些复杂场景下,您可通过任务脚本的方式,按照统一的 Json 格式,编写 REST_API Reader 参数脚本代码,来运行数据集成任务。
进入 DSL 模式操作流程,可详见 MySQL 数据源-4.4.1 进入DSL 模式。
进入 DSL 模式编辑界面后,您可根据实际情况替换相应参数,REST_API Reader 脚本示例如下:
{ "job": { "version": "0.2", "type": "batch", "common": { ... }, "reader": { "type": "restapi", "datasource_id": null, "content_type": "JSON", "class": "com.bytedance.bitsail.batch.restapi.RestApiInputFormat", "url": "https://issues.apache.org/jira/rest/api/2/search", "params": { "jql":"project=FLINK AND updated>-1d" }, "response_structure": "array", "request_method": "GET", "request_times": "once", "json_path": "issues", "columns" :[ { "name":"expand", "type":"string" }, { "name":"id", "type":"string" }, { "name":"self", "type":"string" }, { "name":"key", "type":"string" } ] }, "writer": { ... } } }
其中参数名称前带 * 的为必填参数,名称前未带 * 的为可选填参数。
参数名称 | 参数含义 |
---|---|
*type | Reader type 类型,此处默认固定值 restapi |
*datasource_id | 对应 REST_API 的数据源 ID,暂时不支持,这里请填写 null |
*class | RestApi Reader connector type,默认固定值:com.bytedance.bitsail.batch.restapi.RestApiInputFormat |
*columns | 需要同步的字段名称及其类型信息。 |
*content_type | 数据格式类型,默认填写 JSON 形式。 |
*url | 请求 URL |
*params | 请求参数 |
*request_method | api 请求方法,支持 GET/POST |
request_times | 循环请求次数,支持单次(once)、多次(multiple)、分页(paging),默认 once |
start_index | 循环开始的 index |
end_index | 循环结束的 index |
step | 循环的步长 |
json_path | 导入的 json 路径,需要是 jsonPath 语法,默认 $ |
response_structure | api 返回数据结构,支持单条数据(object)/数组数据(array),默认 object |
poll_interval_mills | api 请求限速,默认请求间隔 1000ms |
headers | api 请求 header |
retry | 重试次数,默认 3 次 |
retry_backoff_multiplier_ms | 重试间隔增加的倍数,重试间隔采用 Fibonacci 数列的方式增加重试时间,默认 100ms |
retry_backoff_max_ms | 最大重试间隔,默认 10000ms |
connect_timeout | http 请求超时时间,默认 60000ms |
socket_timeout | http 请求 socket 超时时间,默认60000ms |