本文为您介绍RestAPI Writer支持的数据类型、字段映射和数据源等参数及配置示例。
背景信息
RestAPI Writer插件提供了向RESTful接口进行请求并且写入数据的功能。Writer插件获取到Reader端传递过来的数据后,根据column配置生成相应的JSON数据,对RESTful接口发起请求并传递数据。
参数说明
进行数据集成时,您需要添加数据源后再配置数据源的来源与去向,并在配置过程中设置好集成的数据及数据类型等信息,整个数据集成包含数据提取(使用reader插件提取数据来源的数据)和数据写入(使用writer插件将集成的数据写入数据去向的数据源中)。
当前插件暂不支持使用调度参数。
参数 | 描述 | 是否必须 | 默认值 |
---|---|---|---|
url | RESTful接口地址。 | 是 | 无 |
dataMode | RESTful请求传递的JSON数据的格式。
|
是 | 无 |
column | 生成JSON数据对应的字段路径列表,type指定源数据的类型,name指定当前column数据放置的JSON路径。您可以指定column字段信息,配置如下。
"column":[{"type":"long","name":"a.b" //放置column数据到路径a.b},{"type":"string","name":"a.c"//放置column数据到路径a.c}] 说明 对于您指定的column信息,type和name必须填写。
|
是 | 无 |
dataPath | 数据结果放置的JSON对象的路径。 | 否 | 无 |
method | 请求方法,支持post和put。 | 是 | 无 |
customHeader | 传递给RESTful接口的header信息。 | 否 | 无 |
authType | 验证方法。
|
否 | 无 |
authUsername/authPassword | Basic Auth验证的用户名密码。 | 否 | 无 |
authToken | Token Auth验证的token。 | 否 | 无 |
accessKey/accessSecret | Aliyun API签名验证的账户信息。 | 否 | 无 |
batchSize | dataMode为multiData时,一次请求最大的数据条数。 | 是 | 512 |
配置示例:向导模式
- 选择数据源。
配置同步任务的数据来源和数据去向。
参数 描述 数据源 数据源类型选择RestAPI后,选择数据需要写入的数据表。 请求Method 即上述参数说明中的method。 返回数据结构 即上述参数说明中的dataMode。 batchSize 即上述参数说明中的batchSize。 数据存储JSON路径 即上述参数说明中的dataPath。 Header 即上述参数说明中的customHeader。 - 字段映射,即上述参数说明中的column。左侧的源头表字段和右侧的目标表字段为一一对应的关系。
参数 描述 同名映射 单击同名映射,可以根据名称建立相应的映射关系,请注意匹配数据类型。 同行映射 单击同行映射,可以在同行建立相应的映射关系,请注意匹配数据类型。 取消映射 单击取消映射,可以取消建立的映射关系。 自动排版 可以根据相应的规律自动排版。 - 通道控制。
参数 描述 任务期望最大并发数 数据同步任务内,可以从源并行读取或并行写入数据存储端的最大线程数。向导模式通过界面化配置并发数,指定任务所使用的并行度。 同步速率 设置同步速率可以保护读取端数据库,以避免抽取速度过大,给源库造成太大的压力。同步速率建议限流,结合源库的配置,请合理配置抽取速率。 错误记录数 错误记录数,表示脏数据的最大容忍条数。 分布式处理能力 暂不支持,敬请期待。
配置示例:脚本模式
{
"type":"job",
"version":"2.0",
"steps":[
{
"stepType":"stream",
"parameter":{
},
"name":"Reader",
"category":"reader"
},
{
"stepType":"restapi",
"parameter":{
"url":"http://127.0.0.1:5000/writer1",
"dataMode":"oneData",
"responseType":"json",
"column":[
{
"type":"long", //放置column数据到路径a.b
"name":"a.b"
},
{
"type":"string", //放置column数据到路径a.c
"name":"a.c"
}
],
"method":"post",
"defaultHeader":{
"X-Custom-Header":"test header"
},
"customHeader":{
"X-Custom-Header2":"test header2"
},
"parameters":"abc=1&def=1",
"batchSize":256
},
"name":"restapiwriter",
"category":"writer"
}
],
"setting":{
"errorLimit":{
"record":"0" //错误记录数。
},
"speed":{
"throttle":true,//当throttle值为false时,mbps参数不生效,表示不限流;当throttle值为true时,表示限流。
"concurrent":1, //作业并发数。
"mbps":"12"//限流
}
},
"order":{
"hops":[
{
"from":"Reader",
"to":"Writer"
}
]
}
}