DataWorks数据服务的主要目标是为个人、团队和企业构建统一的数据服务总线,帮助用户统一管理面向内外部的API服务。例如,您可以将查询数据表功能快速的生成对应的API,或将已有的API注册至数据服务平台进行统一发布和管理。本文以MySQL数据源为例,为您介绍API开发的全套流程。
前提条件
背景信息
DataWorks数据服务作为数据库和数据应用之间的桥梁,旨在为个人、团队及企业提供全面的数据服务及共享能力,帮助用户统一管理面向阿里云内外部的API服务。
数据服务已与API网关连通,支持一键发布API至API网关。数据服务与API网关为您提供安全、稳定、低成本、易上手的数据开放共享服务。更多数据服务的介绍,详情请参见数据服务概述。
进入数据服务
登录DataWorks控制台,切换至目标地域后,单击左侧导航栏的 ,在下拉框中选择对应工作空间后单击进入数据服务。
操作流程
使用数据服务创建API前,需先将您的数据库或数据仓库添加为DataWorks数据源,以此作为数据服务API的数据来源。开发数据服务API时,数据服务将访问该数据源获取数据表的Schema信息,帮助您进一步设置请求和返回参数。调用数据服务API时,数据服务将访问该数据源来执行查询请求。
数据服务基于API网关对外提供服务。在API网关中,分组是API的管理单元,并与调用地址的域名相关联。因此,在数据服务中创建API前,需先在API网关创建API分组。
数据服务基于业务流程实现以业务为单元的数据服务API开发,并通过业务流程对API及创建API所使用的函数等文件进行组织管理。因此,在数据服务创建API前,需先新建业务流程。
业务流程创建完成后,您可基于该业务流程创建相应业务的API。
已创建的API需进行测试运行,测试通过后,该API才可发布上线。
通过测试的API需发布上线,发布成功后,其他服务才可调用该API。
数据服务支持使用简单身份认证及加密身份认证调用数据服务API,您可根据需要选择。
发布上线的API可在服务管理页面查看,同时,数据服务支持根据业务需求进行下线、授权及查看API调用详情等管理操作。
步骤一:创建数据源并配置网络连通性
使用数据服务创建API前,您需将数据库或数据仓库添加为DataWorks的数据源,并保障数据服务资源组与您的目标数据源网络连通,以便调用API时DataWorks可成功访问数据源。
在左侧导航栏单击数据源管理,进入数据源管理页面。
创建数据源并测试网络连通性。
单击新增数据源,选择所需数据源类型。
本文示例选择MySQL。
配置数据源信息。
根据实际需要进行配置,详情请参见配置MySQL数据源。
选择数据服务资源组并测试资源组与数据源的连通性。
本文示例使用开通DataWorks时默认提供的公共数据服务资源组。
说明在任务高并发执行且无法错峰运行的情况下,需要专有资源来保障高并发和高频率的API调用。建议您选择购买使用DataWorks的独享数据服务资源组。详情请参见新增和使用独享数据服务资源组。
单击完成,成功创建数据源。
本文示例新建名为
rds_workshop_log
的MySQL数据源,并测试该数据源与公共数据服务资源组的连通性,参数配置如下图。
步骤二:创建API分组
数据服务基于API网关对外提供服务。在API网关中,分组是API的管理单元,并与调用地址的域名相关联。因此,在数据服务中创建API前,需先在API网关创建API分组。
进入API网关。
在左侧导航栏单击 。
在分组管理界面,单击创建分组,新建分组。
本文示例新建名为
Workshop
的分组。
步骤三:新建业务流程
数据服务基于业务流程实现以业务为单元的API开发,并基于业务流程对API及创建API所使用的函数等文件进行组织管理。因此,创建API前,需先新建业务流程。
新建业务流程。
在
页面,通过如下两种方式新建:方式一:单击图标,选择新建业务流程。
方式二:右键单击左侧导航栏的业务流程目录,选择新建业务流程。
配置业务流程相关参数。
配置
描述
业务名称
根据业务场景自定义名称。本文示例创建的业务流程名为DataService。
API分组
选择API分组,用于后续管理API。本文示例使用步骤二中创建的Workshop分组。
说明API分组是针对某个功能或场景的API集合,也是API网关对API的最小管理单元。如果您需要新建分组,可参考步骤二:创建API分组操作。
单击确定,成功创建业务流程。
业务流程创建完成后,您可在数据服务左侧目录查看目标业务流程详情。
步骤四:生成API
您需根据业务需要,在创建的业务流程中生成API。
生成API。
在
页面,通过如下两种方式生成:方式一:单击图标,选择
。方式二:右键单击左侧导航栏的目标业务流程,选择
。
定义API相关属性。
在生成API对话框,配置API信息。本文示例配置如下图。主要参数介绍如下。
配置项
描述
API模式
您可选择使用向导模式或脚本模式创建API。
向导模式:无需具备编码能力,即可快速配置一个数据API。
脚本模式:支持多表关联、复杂查询和聚合函数等高级功能,可自行编写API的查询SQL,满足高阶用户的个性化查询需求。
本文示例使用向导模式。两种模式的更多介绍,详情请参见生成API概述。
API名称
自定义API名称。本文示例创建的API名称为
rpt_user_info_all_d
。API Path
API的存放路径,即相对于服务Host,API的请求路径。该配置用于拼接API的调用地址。本文示例路径配置为
/user
。协议
支持HTTP及HTTPS。
如果您需要通过HTTPS协议调用API,请在发布API至网关后,在API网关控制台绑定独立域名并上传SSL证书,详情请参见支持 HTTPS。
请求方式
支持GET及POST。
说明当请求方式选择GET时,后续API添加的请求参数的参数位置,仅支持选择QUERY。
当请求方式选择POST时,后续API添加的请求参数的参数位置,支持选择QUERY和BODY。
返回类型
仅支持配置为JSON类型。
可见范围
定义该API创建后的可见范围,取值包括工作空间和私有。
工作空间:该API对本工作空间内的所有成员可见。
私有:该API仅对API的负责人可见,且暂不支持授权。
本文示例可见范围选择工作空间。
目标文件夹
定义API在左侧业务流程中的存放目录。若您还未创建业务流程,请参考步骤三:新建业务流程创建。
配置API参数。
在API的编辑页面,配置API参数。本文示例配置如下图。
选择API的数据源。
在选择表区域,选择生成API所需的数据源表。
参数
描述
数据源类型
选择需要基于哪类数据源创建API。本文示例选择MySQL类型数据源。
数据源名称
选择需要基于该类型数据源下的哪个数据源生成API。本文示例选择步骤一:创建数据源并配置网络连通性创建的
rds_workshop_log
数据源。数据源环境
标准模式工作空间支持选择访问开发或生产环境数据源,两种环境的区别,详情请参见必读:简单模式和标准模式的区别。本文示例选择生产环境。
数据表名称
选择该数据源下需要生成API的数据表。本文示例选择
rds_workshop_log
数据源中的rpt_user_info_all_d
表。定义请求参数和返回参数。
选择数据表后,选择参数区域会自动显示该表的所有字段,您可根据需要选择相应字段作为API的请求参数和返回参数。若需对字段进行排序,则可将目标字段添加至排序字段区域,进行相应调整。
本文示例请求参数为
uid
,返回参数为该表的所有字段。说明单击右侧导航栏的请求参数或返回参数,即可修改参数中字段的类型、示例值、默认值等配置。具体请根据实际需要使用。
步骤五:测试API
API生成后,需单击API编辑页面右上方的测试,验证API的请求与返回值是否符合预期。本文示例设置请求参数uid
的值为0016359810821
,测试返回结果。更多测试详情,请参见测试API。
步骤六:发布API
API提交发布后才可在其他服务进行调用。单击API编辑页面右上方的提交,选择对应版本进行发布。发布后的API,可在API网关查看。更多发布详情,请参见发布API。
步骤七:调用API
调用API目前支持如下认证方式,您可根据需要选择:
简单身份认证:安全性低,适用于报表、数据大屏等场景。
加密签名身份认证:安全性高,适用于应用开发场景。
单击数据服务顶部菜单栏的服务管理,进入服务管理页面。
在左侧导航栏选择API调用。
已发布的API将发布至API网关服务,您可通过API网关SDK调用API。详情请参见客户端调用API示例。
步骤八:查看与管理API
您可在服务管理页面,查看已发布API,并执行相关管理操作。
区域 | 描述 |
在 页面,可查看当前已发布的API、已获得授权及授权给他人的API。同时,可对拥有权限的API执行下线、授权、测试等操作。 | |
在 页面,可执行如下操作:
|