历史版本11 :数据同步-API 返回文档
编辑时间: 内容长度:图片数:目录数: 修改原因:

目录:

版本编辑

FineDataLink 版本功能变动
V1.5
数据来源中的数据源类型支持 RestAPI

应用场景编辑

出于安全考虑,有时不允许直接访问数据库,而是以 API 的形式对外提供数据。

此时用户需要通过 API 接口将数据取出并将其存放至对应的数据库中。

功能说明编辑

FineDataLink 支持通过 RestAPI 接口进行取数,本文将介绍如何在数据同步节点中通过 API 接口取数到指定数据库。

操作步骤编辑

我们使用简道云的查询多条数据接口,来对表单中的数据进行查询,示例接口为https://api.jiandaoyun.com/api/v2/app/611b6d288979ca000825e5b2/entry/611b6d2cb824ef000767d22d/data 

接口信息详情参见:查询多条数据接口

创建任务

登录 FineDataLink,进入数据开发节点,创建一个 ETL 任务,并将其命名为「数据同步-API」,如下图所示:

数据同步节点拖到设计界面,点击该节点打开设置界面,如下图所示:

1658840618920952.gif

API取数

1)数据源类型选择 RestAPI,填写 API 地址:https://api.jiandaoyun.com/api/v2/app/611b6d288979ca000825e5b2/entry/611b6d2cb824ef000767d22d/data

验证方式选择「Token」,并输入Token「1hVCBksfs1i41MaMGUZbTXfDdxfDGwtB」;选择请求类型为「POST」,如下图所示:

此时就已经可以直接进行数据预览了,可以看到出现了接口的响应数据,如下图所示:

如果需要进一步进行取数的条件设置,可以做更多的配置。

比如想要取出 data 这个 JSON 数组,并且只取前 5 条数据,可以点击「更多配置」,输入 JSON 路径「data」,因为我们给出的 API 接口已经定义了请求参数 limit(查询的数据条数,1~100,默认10),所以可以直接使用该请求参数,在请求参数中填入:{'limit':5},点击「数据预览」,如下图所示:

即可查看到取出的数据,如下图所示:

 RestAPI 数据源所有设置项的介绍,如下表所示:

设置项说明是否必填
API 地址RESTful 接口地址必填
验证方式

有三种验证方式,选择对应的验证方式

  • 无验证方式:不需要验证

  • Token:在输入框中输入 token 验证

  • 用户名密码:输入用户名和密码验证

必填
请求方式可选「GET」或「POST」必选
JSON 路径

若此项不填写,返回结果将包括所有对象

可以填写自定义的 JSON 路径控制只返回结果中的单个 JSON 对象或者 JSON 数组

例如 http://fine-doc.oss-cn-shanghai.aliyuncs.com/book.json 中想要取出store对象中book 数组数据,可以在路径中输入:store.book,得到如下图所示的数据:

非必填
请求头
手动控制传递给 RESTful 接口的 header 信息,输入格式为: {"xxx-header":""xxx"}非必填
请求参数可以手动控制传递给 RESTful 接口的参数信息:
  • GET 方法:abc=1&def=1

  • POST 方法:JSON 类型参数

格式为:GET:"a=123&b=456" POST:{"a":123,"b"=456}

非必填


将数据存入数据库

数据源类型选择 MySQL,数据连接选择「FDLdemo」,目标选择自动建表,表名称为 apitongbu,直接将数据写入目标表,如下图所示:

在字段映射中可以查看到字段写入数据库前后的信息,如下图所示:

运行节点

点击「保存并运行」,出现执行成功信息即表示抽数成功,如下图所示:

节点运行成功后,可以看到已经将 API 数据取到 MySQL 数据库,如下图所示:

示例参考

示例详情参见:http://demo.finedatalink.com/ 中 「文档示例demo>数据同步」下数据源类型为RestAPI-示例一和数据源类型为RestAPI-示例二。