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

目录:

1. 概述编辑

1.1 版本说明

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

1.2 应用场景

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

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

1.3 功能说明

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

2. 前提条件编辑

在使用 RestAPI 接口进行取数时,可以提前用 Postman 或者其他 API 调试工具进行测试,确保 API 的可用性。

关于接口文档相关内容,详情参见:RestAPI入门

注:对于 POST 类型请求的接口,FDL 目前仅支持 application/json,JSON数据格式。

3. 操作步骤编辑

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

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

3.1 创建任务

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

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

1658840618920952.gif

3.2 API取数

1)数据源类型选择 RestAPI,填写 API 地址https://api.jiandaoyun.com/api/v4/app/62e9e1c00a99380008a3ccd2/entry/62e9e20f49a9e700085d5e08/data

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

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

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

首先查看接口文档,请求参数默认是body,因此可以将下面几个参数放入body中,同时由于 FDL 仅支持application/json格式,所以请求示例需要是json格式。

比如想要取出 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}

非必填

3.3 将数据存入数据库

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

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

3.4 运行节点

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

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

3.5 示例参考

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