数据服务

数据管理DMS提供的数据服务,能够将您在DMS中管理的数据以API的形式快速对外输出。本文为您介绍对API进行开发、测试、发布、上线、下线等操作。

前提条件

已将数据源录入DMS,且已开启安全托管(稳定变更和自由操作实例)或安全协同功能。更多信息,请参见云数据库录入他云/自建数据库录入开启安全托管变更管控模式

注意事项

  • 此功能正在邀测中,仅部分用户可以使用。

  • 修改后的API,需要进行重新发布才会生效。

  • 删除API时,会对API进行下线处理,即同步删除服务开发服务管理页签中的API。

  • 执行删除操作后,相关数据将无法恢复,请谨慎进行操作。

服务开发

服务开发页签,您可新建、编辑、测试API。API后发布,您可以将开发态的API发布至线上通过HTTPSSSE协议调用该API。

进入服务开发页签

  1. 登录数据管理DMS 5.0
  2. 在顶部菜单栏中,选择数据资产 > 数据服务

    说明

    若您使用的是极简模式的控制台,请单击控制台左上角的2023-01-28_15-57-17.png图标,选择全部功能 > 数据资产 > 数据服务

  3. 可选:单击服务开发页签。

新建目录

  1. 进入服务开发页签

  2. 单击目录右侧的image,并选择新建目录

  3. 在弹出的新建目录对话框,输入目录名称

    说明

    目录名称由汉字、英文字母、数字、下划线(_)组成,有如下要求:

    • 名称唯一。

    • 以英文字母或者汉字开头。

    • 长度为4~50个字符。

  4. 可选:输入业务描述

  5. 单击确认

新建并配置API

  1. 进入服务开发页签

  2. 可选新建目录

  3. 新建API。

    1. 在目标目录的右侧,单击image,并选择新建API

    2. 在弹出的新建API对话框,输入API名称

      说明

      API名称由汉字、英文字母、数字、下划线(_)组成,有如下要求:

      • 名称唯一。

      • 以英文字母或者汉字开头。

      • 长度为4~50个字符。

    3. 可选:输入业务描述

    4. 路径文本框,输入API的调用路径。

      说明

      该路径为API调用地址的组成部分,仅只支持英文、数字、下划线(_)、短划线(-),必须以/开头(例如/item/add)且唯一。

    5. 单击确认

  4. 配置API。

    1. 单击目标API名称。

    2. 配置API参数。

      配置项

      配置条件

      说明

      类别

      参数

      API模式

      选择模式

      必配

      支持向导模式脚本模式

      • 向导模式:通过可视化的方式选择表、字段,定义API的数据查询配置。

      • 脚本模式:通过手动编写SQL脚本和变量的方式,定义API的数据查询配置。

      选择表

      数据源类型

      必配

      待查询的数据库类型,当前仅支持MySQLPolarDB MySQL

      数据源名称

      待查询的数据库。

      说明

      可以通过输入关键字,快捷查询当前用户有查询权限的数据库。

      数据表名称

      向导模式

      待查询的数据表。

      说明

      可以通过输入关键字,快捷查询目标表。

      选择参数

      返回结果分页

      向导模式

      是否对返回结果分页。

      设置为请求参数

      是否将字段设置为请求参数。

      若您勾选字段前的设置为请求参数,该字段将会被添加到右侧的请求参数中。

      说明

      将字段设置为请求参数后,您可以在右侧单击请求参数,设置字段信息

      设置为返回参数

      是否将字段设置为返回参数。

      若您勾选字段前的设置为返回参数,该字段将会被添加到右侧的返回参数中。

      说明

      将字段设置为返回参数后,您可以在右侧单击返回参数,设置字段信息

      添加到字段排序

      单击字段后的添加,可以将该字段添加到排序字段区域,以进行排序。

      排序字段

      排序方式

      向导模式

      该字段的排序方式,支持升序降序

      操作

      可以单击上移下移,对字段进行排序;单击移除,取消对该字段的排序。

      编写查询SQL

      脚本模式

      输入SQL,然后单击自动解析参数,以生成请求参数和返回参数。

      说明

      请求参数和返回参数生成后,您可以在右侧单击请求参数返回参数,设置字段信息

    3. 可选:设置API的执行属性。

      单击页面右侧的属性,然后配置属性参数。

      参数

      说明

      协议

      调用API时使用的协议,支持HTTPSSSE

      最大返回记录数

      调用API时最多可返回的记录数量。

      超时时间

      调用API时的超时时间。

      返回字段元数据

      调用API是否返回元数据信息。

    4. 单击API信息上方的保存,保存API。

      screenshot_2025-09-09_14-29-52

测试API

  1. 进入服务开发页签

  2. 单击已新增并开发的API

  3. API信息上方,单击测试

  4. 在弹出的API测试页面,填入请求参数的

    image

  5. 单击开始测试

  6. API调用成功后,在返回内容区域查看是否符合预期。

    image

发布API

  1. 进入服务开发页签

  2. 单击已测试的API

  3. API信息上方,单击发布

  4. API发布申请面板中,确认API的基础信息和参数信息。

  5. 单击确定,等待API发布成功。

    说明

    若该API已经发布,则将覆盖线上API的配置。

    image

克隆API

  1. 进入服务开发页签

  2. 将鼠标指针放在目标API上,然后单击目标API后出现的image

  3. 单击克隆

    系统会自动克隆原API的相关信息,请确保参数符合要求

    说明
    • 克隆到克隆API对话框中的API名称路径会添加_copy后缀。

    • 须确保API名称在所有目录中具备唯一性。

  4. 可选:根据参数要求和实际情况,修改API名称业务描述路径目标文件夹

  5. 单击确认

修改API

  1. 进入服务开发页签

  2. 单击目标API名称。

  3. 修改API参数

    说明

    变更请求参数或返回参数可能影响API的调用。请根据变更信息,调整调用API请求参数和返回参数的处理逻辑。

  4. 单击API信息上方的保存,保存API。

    screenshot_2025-09-09_14-29-52

  5. 发布API

删除API

当您不再需要某个API时,可以执行如下操作删除该API。

说明

若该API已发布至线上,需先将其下线

  1. 进入服务开发页签

  2. 将鼠标指针放在目标API上,然后单击目标API后出现的image

  3. 单击删除

  4. 在弹出的删除对话框,单击确认删除

    image

编辑目录

  1. 进入服务开发页签

  2. 将鼠标指针放在目标目录上,然后单击目标目录后出现的image

  3. 单击编辑

  4. 在弹出的编辑目录对话框,修改目录信息。

  5. 单击确认

    image

删除目录

当您的需要某个目录中无上线的API,且无需保留该目录时,可以执行如下操作删除该目录。

  1. 进入服务开发页签

  2. 将鼠标指针放在目标目录上,然后单击目标目录后出现的image

  3. 单击删除

    说明

    请确保该目录中无上线的(服务状态服务中)API。

  4. 在弹出的删除对话框,单击确认删除

服务管理

服务管理页签展示了已发布至线上,或已下线且未删除的API。

进入服务开发页签

  1. 登录数据管理DMS 5.0
  2. 在顶部菜单栏中,选择数据资产 > 数据服务

    说明

    若您使用的是极简模式的控制台,请单击控制台左上角的2023-01-28_15-57-17.png图标,选择全部功能 > 数据资产 > 数据服务

  3. 单击服务管理页签。

API授权

  1. 进入服务开发页签

  2. 在当前页签的左侧导航栏,单击API管理

  3. API管理页面中,单击目标API操作列授权

    screenshot_2025-09-09_17-58-16

  4. 在弹出的授权对话框,选择授权账号并单击确认

    image

API下线

  1. 进入服务开发页签

  2. 在当前页签的左侧导航栏,单击API管理

  3. API管理页面中,单击目标API操作列下线

    说明

    API下线后,该API服务状态将变更为已停止

    image

API上线

  1. 进入服务开发页签

  2. 在当前页签的左侧导航栏,单击API管理

  3. API管理页面中,单击目标API操作列上线

    说明

    API上线成功后,该API服务状态将变更为服务中

    image

API测试

  1. 进入服务开发页签

  2. 在当前页签的左侧导航栏,单击API测试

  3. API测试区域,选择目标API

  4. 请求参数区域,填入请求参数的

  5. 单击开始测试

  6. API调用成功后,在返回内容区域查看是否符合预期。

    image

API调用

  1. 进入服务开发页签

  2. 在当前页签的左侧导航栏,单击API调用

  3. 查看API的调用信息,根据实际业务情况调用API。

API删除

说明

若该API已发布至线上,需先将其下线

  1. 进入服务开发页签

  2. 在当前页签的左侧导航栏,单击API管理

  3. API管理页面中,单击目标API操作列删除

  4. 在弹出的删除对话框,单击确认删除

    image

附录

支持的数据源

  • MySQL

    包含RDS MySQL、本地自建MySQL和他云MySQL数据库。

  • PolarDB MySQL

字段信息

说明

脚本模式生成的请求参数和返回参数,无示例值默认值描述

类型

参数

说明

请求参数

参数名称

调用API时的入参名称。

支持英文、数字、下划线(_)、短划线(-),且只能以英文或下划线(_)开头,1~50个字符,默认为字段名。

绑定字段

该字段的来源,即该字段对应的数据源中字段的名称。

参数类型

该字段的数据类型,支持STRING(字符串类型)、NUMBER(数字类型,包含整数,浮点数等)、BOOLEAN(布尔类型)、ARRAY(数组类型,元素可为字符串、数字和布尔类型)。

操作符

过滤条件的操作符,与参数名称和参数的取值共同过滤数据。

是否必填

该字段是否为必传参数。

示例值

该字段的取值示例。

默认值

该字段的默认取值。

描述

该字段的描述信息。

返回参数

别名

返回参数名称。

支持英文、数字、下划线(_)、短划线(-),且只能以英文或下划线(_)开头,1~50个字符,默认为字段名。

绑定字段

该字段的来源,即该字段对应的数据源中字段的名称。

参数类型

该字段的数据类型,支持STRING(字符串类型)、NUMBER(数字类型,包含整数,浮点数等)、BOOLEAN(布尔类型)、ARRAY(数组类型,元素可为字符串、数字和布尔类型)。

示例值

该字段的返回值示例。

默认值

该字段的默认返回值。

描述

该字段的描述信息。

支持的SQL

形式

说明

示例

普通SQL

使用#{}包裹请求参数名。

select c1, c2 from tb where c1 = #{c1};

select * from tb where id = #{id};

分页参数

支持两种格式:

  • 不需运算:使用#{}包裹分页参数。

  • 需运算(四则运算):使用${}包裹分页参数。

select * from tb where id = #{id} limit #{offset}, #{size};

select * from tb where id = #{id} limit ${pageNum} * ${pageSize}, ${pageSize};

if标签

在调用API时,只有当if语句中的条件满足时,该参数才会被添加至查询条件中。

select * from ds_test_tb where 1 =1
<if test="gmt_create != null">
and gmt_create = #{gmt_create}
</if>
<if test="id !=null">
and id = #{id}
</if>
limit ${pageNum} * ${pageSize}, ${pageSize}

choose标签

多个条件分支,任意一个条件满足时,该参数就会被添加至查询条件中。

select * from ds_test_tb where 1 =1
<choose>
 <when test="id != null">
 AND id = #{id}
 </when>
 <otherwise>
 AND `gmt_create` = #{gmt_create}
 </otherwise>
 </choose>
limit ${pageNum} * ${pageSize}, ${pageSize}

where标签

多个条件分支,所有条件都满足时,该参数才会被添加至查询条件中。

SELECT * FROM `ds_test_tb`
<where>
 <if test="id != null">
 id = #{id}
 </if>
 <if test="name != null">
 AND `name` = #{name}
 </if>
</where>

foreach标签

请求参数为列表类型。

重要

此时需手动调整请求参数中id_list的类型为ARRAY,然后保存。

SELECT * FROM `ds_test_tb` where id in
<foreach item="item" index="index" collection="id_list" open="(" separator="," close=")">
#{item}
</foreach>