开发的API只有通过测试并发布至数据服务市场,用户才可以在数据服务市场中查询并申请调用该API的权限。本文为您介绍如何测试API并将API发布至数据服务市场。
前提条件
在开始执行操作前,请确认您已完成API的创建。更多信息,请参见API任务概述。
步骤一:测试API
在Dataphin首页,单击顶部菜单栏服务 > 开发。
选择服务项目,再单击左侧导航栏的API,在API页面单击目标API的图标,进入版本管理面板。
在版本管理面板,单击测试。
在API测试页面,完成参数的配置。
配置业务请求参数列表区域的测试输入值为业务数据中的字段值。
业务请求参数列表区域展示的参数是您创建API时配置的请求参数。
配置公共请求参数列表区域的参数。
公共请求参数列表区域的参数包括PageStart、PageSize和OrderByList,根据API请求方式不同展示的参数不同。
开启分页查询,若API请求方式为LIST,展示PageStart、PageSize和OrderByList参数;若API请求方式为GET,展示OrderByList参数。
关闭分页查询,若API请求方式为LIST,展示OrderByList参数,您可以取消选中隐藏参数,展示PageSize和OrderByList参数;若API请求方式为GET,展示OrderByList参数。
参数
描述
测试输入值
PageStart
用于定义返回数据从第几条开始展示。
配置成正整数,例如2。
PageSize
用于定义每页返回多少数据。
配置成正整数,例如56。
OrderByList
用于定义多个返回参数的排序方式。如果没有填写,则默认为升序排列。
测试输入值需要从业务请求参数列表中获取。
在可选返回参数列表区域选择返回参数。
可选返回参数列表区域展示的参数是您创建API时配置的返回参数。您需要选择至少一个返回参数才能测试API。
配置API的协议和返回条数。
参数
描述
协议
如果您创建API时选择协议选了HTTP和HTTPS,则调试API时可以选择协议。
返回条数
用于定义测试API时返回数据的条数:
如果请求方式为LIST,则支持选择返回条数,最大可返回10000条数据。
请求方式为GET,不支持修改返回条数。
配置完成后,单击测试进行测试API与数据源数据的连通性。
单击查看脚本,查看SQL的脚本,方便对比查询结果是否符合脚本处理预期。若注册API无SQL脚本,则不支持查看。
在测试详情区域,查看测试结果。
如果测试失败,您可以查看附录:错误码及解决方案。
步骤二:发布API
在API列表页面,选择目标API,单击图标进行发布。
选择需要发布的版本,单击确认,发布API至生产环境。
后续业务应用用户可以在数据服务总览页面查询并申请调用API的权限。
说明若线上已有发布的版本,则API发布新版本到线上的过程中会对参数进行校验,包括新增必填请求参数、删减请求参数、删减返回参数、变更请求参数的数据类型。
新版本发布到线上会影响API的调用,您可以在项目中设置不同的发布管控机制,在API发布时会根据其所属项目的配置进行阻塞或发布,详情请参见创建服务项目。
基于服务单元创建的API,在发布时会对引用的字段在所属的服务单元中是否存在进行校验;基于数据源创建的API,在发布时会对引用的字段在所属的数据源中是否存在进行校验。
当开启数据服务高可用模块,基于数据源创建的API,在发布时不校验备链路的数据源及其该数据源中引用的表或字段是否存在。
附录:错误码及解决方案
错误代码 | 代码说明 | 解决方案 |
DPN-OLTP-COMMON-000 | 成功。 | 无。 |
DPN-OLTP-COMMON-001 | 系统发生未知异常。 | 请提交工单,或联系Dataphin的支持人员协助处理。 |
DPN-OLTP-COMMON-002 | 参数异常。 | 请检查参数的正确性。 |
DPN-OLTP-COMMON-003 | 系统发生未知异常。 | 请提交工单,或联系Dataphin的支持人员协助处理。 |
DPN-OLTP-COMMON-004 | SQL解析异常。 | SQL语句中未定义字段别名,请检查并修改SQL语句。 |
DPN-OLTP-ENGINE-001 | 参数错误。 | 检查设置的参数。 |
DPN-OLTP-ENGINE-002 | 对象找不到。 | 请提交工单,或联系Dataphin的支持人员协助处理。 |
DPN-OLTP-ENGINE-003 | 不支持。 | 无。 |
DPN-OLTP-ENGINE-004 | 通信表错误。 | 无。 |
DPN-OLTP-ENGINE-005 | SQL解析失败。 | 请提交工单,或联系Dataphin的支持人员协助处理。 |
DPN-OLTP-ENGINE-006 | 元数据错误。 | |
DPN-OLTP-ENGINE-007 | 参数处理错误。 | |
DPN-OLTP-ENGINE-008 | 构建执行模型错误。 | |
DPN-OLTP-ENGINE-009 | 测试执行失败。 | |
DPN-OLTP-ENGINE-010 | 数据源错误。 | |
DPN-OLTP-ENGINE-011 | HBase引擎不支持。 | 无。 |
DPN-OLTP-ENGINE-012 | 对象序列化失败。 | 请提交工单,或联系Dataphin的支持人员协助处理。 |
DPN-OLTP-ENGINE-013 | 权限校验失败。 | 请申请数据表的权限,具体操作请参见申请、续期和交还表权限。 获取对应数据表权限后,还是未能解决该问题,请提交工单,或联系Dataphin的支持人员协助处理。 |
DPN-OLTP-ENGINE-014 | Elasticsearch引擎不支持。 | 无。 |
DPN-OLTP-ENGINE-015 | MongoDB引擎不支持。 | 无。 |
DPN-OLTP-ENGINE-016 | 字段类型错误。 | 检查配置的字段类型是否与数据源的字段类型不一致。 |
DPN-OLTP-ENGINE-017 | Redis缓存异常。 | 请提交工单,或联系Dataphin的支持人员协助处理。 |
DPN-OLTP-ENGINE-018 | 跨数据源不支持。 | 无。 |
DPN-OLTP-ENGINE-019 | 数据类型编码或者转换失败。 | 请提交工单,或联系Dataphin的支持人员协助处理。 |
DPN-OLTP-ENGINE-20 | 熔断。 | |
DPN-OLTP-ENGINE-21 | 限流。 | 您可以配置API限流,以降低请求并发量。 |
DPN-OLTP-ENGINE-018-01 | 跨数据源不支持Group By。 | 请检查SQL。 |
DPN-OLTP-ENGINE-018-02 | 跨数据源不支持Order By。 | |
DPN-OLTP-ENGINE-018-03 | 跨数据源不支持没有Where条件。 | |
DPN-OLTP-ENGINE-018-04 | 跨数据源不支持PageStart不等于0。 | |
DPN-OLTP-ENGINE-018-05 | 跨数据源不支持在Where条件中存在or的操作。 | |
DPN-OLTP-ENGINE-018-06 | 跨数据源不支持在一个Select item中有来自多个物理表的字段。 | |
DPN-OLTP-ENGINE-018-07 | 跨数据源查询必须所有的主键都在。 | |
DPN-OLTP-JDBC-001 | 请求参数错误。 | 检查设置的参数是否正确。 |
DPN-OLTP-JDBC-002 | 请求和账号ID不匹配。 | 检查Session ID和Account ID是否匹配。如果匹配,请提交工单,请提交工单,或联系Dataphin的支持人员协助处理。 |
DPN-OLTP-JDBC-003 | 用户无权访问数据库。 | 请申请数据源的权限,具体操作请参见申请数据源权限。 获取对应数据表权限后,还是未能解决该问题,请提交工单,或联系Dataphin的支持人员协助处理。 |
DPN-OLTP-JDBC-004 | 用户无权访问数据表。 | 请申请数据表的权限,具体操作请参见申请、续期和交还表权限。 获取对应数据表权限后,还是未能解决该问题,请提交工单,或联系Dataphin的支持人员协助处理。 |
DPN-OLTP-JDBC-005 | Account Id出错 | 检查Account ID的正确性。 |
DPN-OLTP-OLAP-001 | OLAP客户端失败 | 重连客户端尝试。如果仍失败请提交工单,或联系Dataphin的支持人员协助处理。 |
DPN-OLTP-JDBC-002 | OLAP客户端运行失败 | 请提交工单,或联系Dataphin的支持人员协助处理。 |
后续步骤
测试与发布API后,您就可以在数据服务市场中查询并申请调用的权限。具体操作,请参见调用API。