数据模型服务功能是将数据模型服务化,通过接口将数据库中的数据提供给上层应用。 数据模型服务的使用需要拥有空间管理员权限或者赋予了数据服务权限的用户或者角色才能使用。
注: 该功能仅适用于私有部署版本中使用。
设置流程
1、数据服务权限
数据服务权限可以在「系统设置 -> 用户管理 -> 权限配置」中进行设置(也可以设置角色的数据服务权限使角色中所有用户拥有数据服务权限)。
2、在「数据管理 -> 数据服务 -> 数据模型服务Tab -> 新增数据模型服务」中添加数据模型服务
3、在新增数据模型服务页面可以配置数据模型服务名称、选择使用的数据模型、请求参数、返回参数等
4、通过图表右键快速创建数据模型服务,此时会将图表相关的全局过滤条件、图表级过滤条件、数据筛选、URL 参数做为请求参数自动添加到数据模型服务中,图表上绑定的字段会做为返回参数直接添加到数据模型服务中。
注:
-
请求参数即为请求接口中需要传递的参数,当数据模型服务的请求参数为必填时且未传入此必填参数时就会使用默认值做为此参数的值;当接口中传入了此必填参数就会使用传入的值。
-
当数据返回类型为汇总并且请求参数为 int/float 类型字段时支持选择筛选方式,当选择「聚合后筛选-having」方式时此时为 having 筛选,筛选的聚合方式与返回字段一致,当返回字段没有此字段时不参与 having 筛选;当为「聚合前筛选-WHERE」时为 where 筛选。
-
返回参数即为接口需要返回哪些字段,当返回参数为度量并且数据返回类型为汇总时可以选择度量聚合方式。
-
当打开调试时会返回查询数据生成的 sql(默认为关闭状态)。
-
通过数据模型方式绑定数据的图表才支持通过右键快速创建数据模型服务,请求参数和返回字段中不支持报表和大屏级别创建的计算字段。
-
GET 请求中 string 类型参数的值如果有多个时需要使用逗号分隔,eg: url?city='石家庄,北京',POST 请求中直接使用数组存放。
调用方式
创建数据服务 ak/sk
在使用数据模型服务接口获取计算结果前需要先通过「系统设置 -> 空间 Access Key -> 数据服务」创建 aksk 然后通过创建的 aksk 计算签名信息,用于访问数据模型服务接口时的权限认证,签名的计算方式和openAPI一致。
然后携带签名信息通过「openAPI -> V2」中的数据模型服务接口进行调用:数据模型服务