多物理表服务单元用于关联多个物理表,并对关联后的字段进行元数据配置。后续您可以基于该多物理表服务单元开发可以同时访问多物理表数据的API,以实现联合数据查询。本文为您介绍如何创建多物理表服务单元。
前提条件
使用限制
可通过数据源对多个物理表进行元数据配置,支持的数据源请参见数据服务支持的数据源。
部分数据源支持行级权限,支持的数据源请参见数据服务支持的数据源。
权限说明
支持项目管理员和开发用户创建服务单元。
注意事项
只有当主物理表与非主物理表中某字段值和字段类型相同时,后续基于该多物理表服务单元创建的API才可以实现联合数据查询,否则无法实现联合数据查询。
步骤一:选择服务单元类型
在Dataphin首页的顶部菜单栏,选择服务 > API开发。
在左上角选择项目,单击左侧导航栏服务单元,在服务单元页面,单击+新建服务单元。
在新建服务单元对话框,选择多物理表服务单元。
步骤二:配置多物理表服务单元参数
在新建服务单元页面,配置服务单元的基础信息和参数信息。
服务单元基础信息配置
参数
描述
服务单元名称
服务单元的名称。命名规则如下:
只能包含字母、数字和下划线(_)。
以字母开头。
长度在4~64个字符范围内。
服务单元分组
选择已创建的服务单元分组。
模式
模式用于定义服务单元读取的数据是来自开发数据源还是生产数据源。模式包括Basic和Dev-Prod模式:
Basic:选择了Basic模式后,服务单元读取数据时您只能选择到生产数据源。
Dev-Prod:选择了Dev-Prod模式后,服务单元读取数据时您可以选择开发数据源和生产数据源。
您可以在数据源页面,查看您的数据源是生产数据源还是开发数据源。
服务单元描述
填写对服务单元的简单描述。不超过128字符。
最大返回条数
Dataphin默认最大返回条数为1000条,支持最大限制为10000条。
用于定义API查询数据时返回的条数,避免一次查询过多数据导致Dataphin系统内存溢出。如果需要查询更多数据,您可以在调用API的SDK中修改PageSize参数值,以实现查询API时返回更多的数据。
添加物理表
单击添加物理表,在新增物理表对话框,根据数据源圈选数据表,添加需要读取数据的多个物理表。支持的数据源请参见数据服务支持的数据源。
Dataphin默认将添加的第一个物理表设为主表,您也可以选择其他物理表作为主表。
多个物理表间的计算逻辑是JOIN,主表即左连接计算时的左表,其他表则为右表。后续您需要选择左表中的某个字段作为多个物理表的关联字段,该字段在调用API时会作为传参。如果调用SQL语句中没有该字段,则调用API会失败。
如果已有的服务单元与您配置的基础信息相似,则Dataphin会自动为您展示相似服务单元的名称,您可以在服务单元列表中查看该服务单元的详细信息。如果需要继续创建新的服务单元,则单击继续新建,即可进入配置服务单元字段页面。
配置服务单元字段。
参数
描述
配置服务单元关联字段
服务单元字段
您可以自定义服务单元字段名称。命名规则如下:
只能包含字母、数字和下划线(_)。
以字母开头。
长度在4~64个字符范围内。
主表名称.关联字段(主键)
从主表中选择与已关联的非主表的字段值相同的字段,后续该关联字段在调用API时会作为传参。如果调用SQL语句中没有该关联字段,则调用API会失败。
服务单元关联字段类型
选择关联主表的字段类型。
服务单元字段描述
填写对服务单元关联字段的简单描述。
配置服务单元字段
服务单元字段类型
支持选择的字段类型包括Double、Float、String、Date、Boolean、Int、Long、Short、Byte、BigDecimal、Binary。您需要根据业务数据的实际字段类型选择对应的关联字段类型。
如果业务数据的字段类型不在上述字段类型范围内,推荐您选择String。
服务单元字段
配置业务数据的字段映射到服务单元中的字段名称,您可以根据业务情况自定义字段名称。命名规则如下:
只能包含字母、数字和下划线(_)。
以字母开头。
长度在4~64个字符范围内。
服务单元字段描述
填写对服务单元字段的简单描述。
完成服务单元字段的配置后,单击底部的数据预览,查看字段对应的业务数据。最多返回1000条数据。
根据选择的物理数据表,系统自动为您解析物理数据表所关联的行级权限信息,包括行级权限名称、描述说明、控制字段、数据源环境、关联表、关联字段。同时,您可以执行如下操作。
开启或关闭行级权限:控制行级权限的生效状态以及在查看服务单元时是否可见行级权限列表信息。
去创建行级权限:操作人需具有行级权限创建权限。单击跳转至管理中心 > 权限管理的行级权限创建页面,新建行级权限。
说明调用该API所返回的数据范围受到行级权限的管控,行级权限不一致时,数据返回结果会存在差异。
当模式为Basic时,展示生产环境关联的物理数据表行级权限;模式为Dev-Prod时,展示开发环境和生产环境关联的物理数据表行级权限。
若服务单元开启行级权限并已发布,则在该服务单元下创建的API,在被调用时会受到对应行级权限管控。
在已开启行级权限并已发布的服务单元下创建API,若在管理中心 > 权限管理创建/删除该服务单元所关联的行级权限,则系统会自动生效/失效行级权限,无需重新发布API。
添加的物理表,无论该物理表的字段是否被API应用或是否添加到服务单元,均会受到物理表所关联的行级权限管控。
若多个物理表的不同字段关联到同一个行级权限,则所有字段均生效。
单击提交,完成多物理表服务单元创建。