介绍
从Web Service接入数据,是指观远数据支持将API数据通过Web Service数据连接器进行接入,可自定义灵活配置API返回数据的解析规则和选取所需字段,最后并利用连接创建Web Service数据集。
产品功能文档:从Web Service接入数据 - Galaxy 帮助中心
数据连接:
API请求方式(HTTP request):Get 方式是从服务器上获取数据,参数通过URL传递,一般用作数据查询;Post 方式是向服务器传送数据,参数通过request body传递,一般用作数据添加、修改或者删除。
API请求返回数据为JSON文本,在 JSON 中,使用以下两种方式来表示数据:
- Object(对象):键/值对(key/value)的集合,使用花括号{ }定义。在每个键/值对中,以键开头,后跟一个冒号:,最后是值。键必须是字符串类型,使用双引号" "将键包裹起来;值可以是任意 JSON 中支持的数据类型(例如字符串、数字、对象、数组、布尔值、null 等);多个键/值对之间使用逗号,分隔,例如 {"name":"ABC","age":20};
- Array(数组):值的有序集合,使用方括号[ ]定义,数组中每个值之间使用逗号(,)进行分隔。
数据解析:
5.11版本之前,只能解析数组[ ]内的数据, 5.11之后支持直接解析JSON键值对的数据。
路径写法:
- $ 取根路径下所有内容, 单用时仅返回一行数据
- $.xxx xxx路径下所有内容, 单用时路径下必须是非数组的JSON对象,返回一行数据
- $.xxx[:3]/[*] 仅适用于JSON数组, 自动拆分为多行
字段获取逻辑:
- 结果字段路径中为键值对时,系统将取键为字段名、其对应值为字段值。
- 结果字段路径中为单值时,系统将报错(不支持的数据格式)。
- 新增字段为数组时,自动铺展会影响行数,导致无法正常解析,字段显示为null,建议在ETL里解析(参考 用ETL解析JSON)。
数据解析示例:
$$.response $.response.contents[*]$.response.contents[*].contents[*]不建议的新增字段方式
限制:
- 数据大小限制:2千万字节(19M)
- 请求超时限制:Post请求100秒;Get请求无限制。
前置请求:
在WebService的“前置请求”中,支持配置token解析并自动获取,实现了API鉴权自动化。
创建的动态参数可根据API接口的具体场景在当前数据集 URL path、请求头、认证、请求参数、请求体中通过 ${参数名称} 的方式进行引用;从字段路径中获取的结果需要为单一值。
创建:
获取参数:
使用--请求头:
使用于URL路径的案例: