# 服务开发
# 功能概述
服务开发提供了配置化的服务开发能力,用户可以选择根据模型或者自定义SQL方式配置开发服务。配置中用户可以自定义输入、输出参数,配置服务的行列权限、脱敏加密规则等。在开发完成后用户可以提交预发布用以测试服务结果,系统提供了在线测试的方式。最终在提交审批通过之后发布到生产环境,对外提供数据API服务。
# 功能入口
【管理门户】-【应用】-【服务开发】-【服务开发】
# 前提条件
完成系统及数据源相关配置。
# 目前已支持的数据源清单
数据源 | 说明 | 元数据采集 | 数据服务开发 |
---|---|---|---|
Mysql | 支持Mysql5.5/5.6/5.7版本 | 是 | 是 |
Dameng | 支持达梦7和8版本,平台内置了8版本驱动 | 是 | 是 |
Hive | 支持jdbc方式的Hive连接,部署时添加对应版本驱动包。支持kerberos认证。目前主要验证的是CDH5.15版本,其他版本可以放置对应版本驱动后测试验证。 | 是 | 是 |
kingbaseES | 支持KingbaseR8V6版本,其他版本部署时需要添加对应驱动包 | 是 | 是 |
Oracle | 支持Oracle9i/11g/12c/19c。 | 是 | 是 |
Postgresql | 内置Postgresql12版本驱动,其他版本可视情况添加驱动包 | 是 | 是 |
SqlSever | 支持sqlserver2008/2012/2016版本 | 是 | 是 |
Starrocks | 支持Starrocks2.5/3.1/3.2版本,和Mysql接入方式一致,元数据支持物化视图采集。 | 是 | 是 |
星环TDH | 支持星环Inceptor方式连接,注意存放inceptor驱动是不要直接放入fatjar,避免类冲突。 | 是 | 是 |
ClickHouse | 支持版本 | 是 | 是 |
GBase | 支持版本 | 是 | 是 |
Mongodb | 支持版本 | 是 | 是 |
# 操作说明
# 新增服务
1)在服务列表的左上角点击“服务生成”按钮,进入新增服务向导页面。
2)此时用户可以选择使用“模型服务“或”结果集服务“,按照服务开发需求选择相应类型进入下一步配置。
PS:
- 模型服务是根据平台预先配置的数据源所采集到的元数据模型进行配置开发,通常用于简单的单表或多表关联配置服务场景。
- 结果集服务是用户通过自定义SQL方式开发服务,通常用于较复杂场景以及特殊的数据库函数调用等场景。
- 三方Http服务代理支持对于三方API服务的代理配置,对服务调用情况进行管理监控。
# 单表模型配置
1) 第一步配置服务基本信息,填写服务名称、服务编码、所属系统、提供部门等信息。其中服务编码会作为后续服务的唯一标识,在服务地址中区分不同服务的信息,因此只能够填写英文/数字,并且不能重复。
2) 第二步“选择模型”,用户选择开发服务相关的模型信息,只能选择一个。
3) 点击下一步进入输入参数配置页面,选择可以作为输入参数字段,并且可以设置输入参数是否必填以及相应的加密策略。输入参数配置加密策略后,用户调用接口是入参需要按照所选择的规则进行加密后才能够正常访问服务。
配置完成后点击下一步进入输出参数配置页面。
4) 在输出参数配置页面,用户可以配置服务的返回值字段,并且设置输出参数的加密脱敏规则。配置完成后点击“提交”即可完成服务配置。
PS: 在数据安全模块,通过敏感探查功能探查的敏感字段,会将敏感字段的脱敏加密规则自动推荐过来。
# 多表模型配置
1) 第一步配置服务基本信息,填写服务名称、服务编码、所属系统、提供部门等信息。其中服务编码会作为后续服务的唯一标识,在服务地址中区分不同服务的信息,因此只能够填写英文/数字,并且不能重复。
2) 第二步“选择模型”,用户选择开发服务相关的模型信息,可以选择多个。
3) 当选择多个模型发布服务时,进入模型关系配置页面。
4) 点击下一步进入输入参数配置页面,选择可以作为输入参数字段,并且可以设置输入参数是否必填以及相应的加密策略。输入参数配置加密策略后,用户调用接口是入参需要按照所选择的规则进行加密后才能够正常访问服务。
配置完成后点击下一步进入输出参数配置页面。
【参数名称】:服务调用时入参变量名称 【参数说明】:服务调用时入参变量备注 【是否必填】:调用接口是必须传入该参数并且不能为空,否则调用失败。主要用于限制条件查询的场景,例如使用身份证信息查询个人信息接口。 【加密规则】:传入时对输入参数值进行加密,保证通讯过程中的数据安全。默认提供BASE64的加密算法,支持项目自定义扩展。
5) 在输出参数配置页面,用户可以配置服务的返回值字段,并且设置输出参数的加密脱敏规则。配置完成后点击“提交”即可完成服务配置。
# 结果集服务配置
1) 第一步配置服务基本信息,填写服务名称、服务编码、所属系统、提供部门等信息。其中服务编码会作为后续服务的唯一标识,在服务地址中区分不同服务的信息,因此只能够填写英文/数字,并且不能重复。
2) 按照配置说明选择数据源并配置sql语句,点击“测试SQL”按钮测试sql是否正常执行。执行成功后页面会显示测试结果样例(取前10条),如果测试失败则提示原因。
3) 测试通过后点击下一步配置输入参数。结果集服务的输入参数由用户手动配置。用户可以根据返回值的情况自由配置输入参数。
4) 最后一步配置输出参数,系统会根据sql的测试结果展示所有返回值的情况,用户可以选择返回字段进行结果过滤,也可以配置输出字段的加密脱敏规则。此处配置与模型服务相同。配置完成后点击“提交”按钮即可完成服务配置。
# 三方Http服务代理
1) 第一步配置服务基本信息,填写服务名称、服务编码、所属系统、提供部门等信息。其中服务编码会作为后续服务的唯一标识,在服务地址中区分不同服务的信息,因此只能够填写英文/数字,并且不能重复。
2) 填写服务的地址。
3) 填写服务的出入参数。配置完成后点击“提交”按钮即可完成服务配置。
# 服务维护
前提条件:仅对于“创建”状态和“预发布”状态的服务可以进行编辑操作。并且在编辑时不能修改模型或者修改sql,如果遇到模型或者sql的修改,则直接删除当前服务重新配置即可。
1)“编辑”: 在服务列表中找到需要编辑的服务,点击操作栏中的“编辑”按钮就可以对服务参数进行调整。
2)“删除”:在“服务列表”中找到需要删除的服务,在操作栏中点击“删除”按钮,根据提示点击“确认”后完成删除操作。
PS:任何阶段的服务都可以被删除,已发布后的服务可能已被调用,请在删除前确认并谨慎操作。
# 发布服务
前提条件:仅对于“预发布”或创建状态的服务进行发布操作。发布后的服务就不能再进行编辑修改操作。
1) 在服务列表中找到需要发布的服务,点击操作栏中的“发布”按钮就可以对服务参数进行调整。
2) 在发布页面中需要选择服务对应的数据源信息,左键点击数据源后按照弹出框指示点击“确认”按钮即可完成发布操作。
# 修改发布数据源
PS:仅对于“预发布”或“发布”状态的服务进行修改数据源操作。一般用于服务测试时数据源选择错误导致服务无法测试时使用。
1) 在服务列表中找到需要发布的服务,点击操作栏中的“修改发布数据源”按钮就可以对服务参数进行调整。
2) 在发布页面中需要选择服务对应的数据源信息,左键点击数据源后按照弹出框指示点击“确认”按钮即可完成发布操作。
# 授权服务
前提条件:仅对于“预发布”或者“发布”状态的服务进行服务授权。发布后的服务就不能再进行编辑修改操作。
1)在服务列表中找到需要授权的服务,点击操作栏中的“服务授权”按钮就可以对服务参数进行调整。
2)在授权页面中先配置授权基本信息。
3)配置服务的输入参数,和新增服务相同。
4)配置服务的输出参数,和新增服务相同。
5) 在服务授权时,可以配置服务的行权限过滤。用于对于返回值增加过滤条件。配置完成后点击“提交”按钮即可完成授权操作。
PS:系统默认服务引擎不需要预发布操作,如果需要预发布动作,可以在【数据资产】【平台配置】【平台参数配置】修改“服务引擎”中的是否需要预发布为“true”。
# 关联
服务可以与逻辑实体进行关联。
1)在服务列表中找到需要关联的服务,点击操作栏中的“关联”按钮就可以对服务参数进行关联。
2)在关联逻辑实体页面中选择关联的数据,点击“关联”按钮完成关联。
# 变更
前提条件:仅对于“预发布”或者“发布”状态的服务进行服务变更,变更后会创建新的服务版本。
# 新增文件
点击列表上方的Tab页按钮,切换到文件Tab页中,在文件页面中可以对文件资源进行上传、删除、关联操作。
点击“批量上传”按钮打开文件上传弹窗。
支持一次选择多个文件进行上传。
完成后点击“提交”完成文件上传操作。
# 新增报表
点击列表上方的Tab页按钮,切换到报表Tab页中,在报表页面中可以对报表资源进行新增、编辑、删除、关联操作。
点击“新增报表”按钮打开新增报表弹窗。
填写报表的信息后,点击“提交”按钮完成报表新增操作。
文件、报表关联参考服务关联逻辑实体操作。