数据服务入门

DataWorks数据服务模块是一个灵活轻量、安全稳定的数据API构建平台,作为数据库和数据应用之间的“桥梁”,DataWorks数据服务旨在为个人、团队和企业提供全面的数据服务和共享能力,帮助用户统一管理面向内外部的API服务。例如,您可以将查询数据表功能快速的生成对应的API,或将已有的API注册至数据服务平台进行统一发布和管理。

功能介绍

DataWorks数据服务作为数据库与数据应用之间的重要桥梁,旨在为个人、团队及企业提供全面的数据服务及共享能力,帮助用户统一管理面向阿里云内外部的API服务。该数据服务采用Serverless架构,用户只需关注API本身的查询逻辑,而无需考虑运行环境等基础设施。数据服务将为您准备好计算资源,并支持弹性扩展,确保零运维成本。数据服务与API网关紧密连接,支持一键将API发布至API网关。通过数据服务与API网关的协作,用户能够享受到安全、稳定、低成本且易于上手的数据开放共享服务。

说明
  • 如果使用数据服务过程中遇到问题,请点击群邀请加入DataWorks交流群进行咨询。

  • 数据服务在使用时,仅支持在PCChrome浏览器69以上内核版本使用。

image

基本概念

  • API(Application Programming Interface , 应用程序编程接口):API是让应用、软件、系统能够面向数据源进行数据交互的接口,数据服务API支持“读数据”的操作,可以从数据库、数据表中不断地进行数据查询。

  • 函数:作为API过滤器,对API的请求参数或返回参数进行加工处理。当使用函数作为API过滤器时,前置过滤器和后置过滤器的函数类型需要保持一致,暂不支持对同一API的前置和后置过滤器选择不同的函数类型。

  • 数据推送:数据推送是阿里云大数据开发治理平台DataWorks提供的一项数据服务功能,允许用户通过编写SQL查询数据源(如MySQL、PostgreSQL、Hologres、MaxCompute、ClickHouse等),将查询结果结合富文本或表格内容,定期自动推送至钉钉群、飞书群、企业微信群、邮件或Microsoft Teams等渠道。

  • 数据服务资源组:在调用数据服务API需要高QPSSLA保障的情况下,企业需要使用独享数据服务资源来保障调用成功。同时,独享数据服务资源组能够满足高并发、高频率的接口调用并及时返回结果数据。

计费相关

使用DataWorks的数据服务功能创建数据API后,调用数据服务API时,API调用请求会占用一定的资源组,并产生相关费用。DataWorks将根据数据服务调用量计费,数据服务的计费有如下几种模式:

  • Serverless资源组

    • 按量付费:使用按量付费Serverless资源组时,需在资源组中为数据服务用途配置当前占用CU,更多信息,请参见给任务分配CU配额。分配占用CU即会开始计费,按照当前占用CU数 × 分配占用CU的时长进行收费。

    • 包年包月:使用包年包月Serverless资源组时,需在资源组中为数据服务用途配置CU保障,更多信息,请参见给任务分配CU配额。按照实际使用CU数进行收费。

  • 独享数据服务资源组:按照资源组规格进行收费。您可以根据业务需求对API调用量级进行评估,选择合适的资源组规格。独享数据服务资源组由单企业独占使用。详情请参见:独享数据服务资源组计费

能力概览

API开发

步骤

名称

步骤说明

1

创建数据源并配置网络连通性

使用数据服务创建API前,需先将您的数据库或数据仓库添加为DataWorks数据源,以此作为数据服务API的数据来源。开发数据服务API时,数据服务将访问该数据源获取数据表的Schema信息,帮助您进一步设置请求和返回参数。调用数据服务API时,数据服务将访问该数据源来执行查询请求。数据服务支持的数据源请参见数据服务数据源列表

重要

如果连通性测试失败,请根据网络连通与白名单配置检查配置结果。

2

新建业务流程

数据服务基于业务流程实现以业务为单元的数据服务API开发,并通过业务流程对API及创建API所使用的函数等文件进行组织管理。因此,在数据服务创建API前,需先新建业务流程。

3

创建API

  • 将数据表快速生成数据API

    • 数据服务支持通过可视化配置的向导模式,将各类数据源下的数据表生成数据API,您无需具备编码能力,即可快速配置一个API。详情请参见通过向导模式生成API

    • 为满足高阶用户的个性化查询需求,数据服务为您提供自定义SQL脚本模式,您可以自行编写API的查询SQL。在脚本模式下,支持多表关联、复杂查询和聚合函数等功能。详情请参见通过脚本模式生成API

  • 注册已有API:将已有API快速注册至本平台进行统一管理与发布。详情请参见注册外部API服务

4

创建函数(过滤器)

可选配置,支持函数计算来辅助加工API的请求参数及返回结果。

5

测试API

已创建的API需进行测试运行,测试通过后,该API才可发布上线。

6

发布API

通过测试的API可被发布至API网关,发布成功后,其他服务才可调用该API。API被发布后,您还可以一键上架至阿里云API市场售卖,帮助企业快速实现数据价值变现,最终形成商业闭环。

说明
  • API网关(API Gateway)提供API托管服务,涵盖API发布、管理、运维、售卖的全生命周期管理。帮助您简单、快速、低成本、低风险地实现微服务聚合、前后端分离、系统集成,向合作伙伴、开发者开放功能和数据。详情请参见产品简介

    API网关是API对外开放,或者在自己的应用中调用的最后一道防线,提供权限管理、流量控制、访问控制、计量等服务。通常在数据服务中生成和注册的API,需要发布至API网关才能对外提供服务。数据服务与API网关产品相连通,支持一键发布APIAPI网关。

  • 阿里云API市场涵盖了金融理财、人工智能、电子商务、交通地理、生活服务、企业管理和公共事务7大类目,目前已有数千款API产品在线售卖,是快速帮您实现数据变现的平台。详情请参见阿里云API市场

7

调用API

应用(APP)是您调用API服务时的身份。通过应用(APP)调用某个API时,必须获得API的授权才能调用该API。您可以获得他人授权的API,或将API授权给他人,实现数据共享。详情请参见:授权API。您还可以通过API网关,调用由其他阿里云用户或者第三方服务商开放的API服务。API网关将为您提供一系列管理服务与支撑。

数据推送

Data Works数据服务支持数据推送功能,通过定时条件将数据内容主动推送至目标群体。数据推送任务支持面向多种数据源来自定义编排富文本、表格等推送内容,面向业务需求设置周期推送频率,面向不同消费方设置数据推送对象和渠道,帮助客户提升数据触达效率,扩展数据消费场景。详情请参见数据推送

快速入门

准备工作

  • 已开通API网关(API Gateway)服务,用于统一管理及调用API,详情请参见API网关服务

  • 已创建目标数据源,本文示例创建MySQL类型的数据源,作为生成API所需的源端输入数据。详情请参见配置数据源

  • 已创建Serverless资源组并为数据服务进行了配额,详情请参见:Serverless资源组配置数据服务配额

一、创建数据源并配置网络连通性

使用数据服务创建API前,您需将数据库或数据仓库添加为DataWorks的数据源,并保障数据服务资源组与您的目标数据源网络连通,以便调用APIDataWorks可成功访问数据源。

开发数据服务API时,数据服务将访问该数据源获取数据表的Schema信息,帮助您进一步设置请求和返回参数。调用数据服务API时,数据服务将访问该数据源来执行查询请求。数据服务支持的数据源请参见数据服务数据源列表

本文示例新建名为rds_workshop_logMySQL数据源,并测试该数据源与公共数据服务资源组的连通性。

  1. 进入DataWorks管理中心,选择目标工作空间后,单击进入管理中心

  2. 在左侧导航栏单击数据源,进入数据源管理页面。

  3. 创建数据源并测试网络连通性。

    1. 单击新增数据源,选择所需数据源类型。

      本文示例选择MySQL

    2. 配置数据源信息。

      根据界面提示进行配置,详情请参见配置MySQL数据源

    3. 选择数据Serverless资源组并测试资源组与数据源的连通性

      说明
    4. 单击完成,成功创建数据源。

二、创建API分组

数据服务基于API网关对外提供服务。在API网关中,分组是API的管理单元,并与调用地址的域名相关联。因此,在数据服务中创建API前,需先在API网关创建API分组。

  1. 进入API网关,在分组管理界面,单击创建分组,新建分组。

  2. 填写分组信息后,完成创建。本文示例新建名为Workshop的分组。

三、新建业务流程

数据服务基于业务流程实现以业务为单元的API开发,并基于业务流程对API及创建API所使用的函数等文件进行组织管理。因此,创建API前,需先新建业务流程。

  1. 登录DataWorks控制台,切换至目标地域后,单击左侧导航栏的数据分析与服务 > 数据服务,在下拉框中选择对应工作空间后单击进入数据服务

  2. 新建业务流程。

    数据服务 > 服务开发页面,通过如下两种方式新建:

    • 方式一:单击新建图标,选择新建业务流程

    • 方式二:右键单击左侧导航栏的业务流程目录,选择新建业务流程

  3. 配置业务流程相关参数。

    配置

    描述

    业务名称

    根据业务场景自定义名称。本文示例创建的业务流程名为DataService

    API分组

    选择API分组,用于后续管理API。本文示例使用步骤二中创建的Workshop分组。

    说明

    API分组是针对某个功能或场景的API集合,也是API网关对API的最小管理单元。如果您需要新建分组,可参考二、创建API分组操作。

  4. 单击确定,成功创建业务流程。

    业务流程创建完成后,您可在数据服务左侧目录查看目标业务流程详情。

四、生成API

业务流程创建完成后,您可基于该业务流程创建相应业务的API。

  1. 生成API。

    数据服务 > 服务开发页面,通过如下两种方式生成:

    • 方式一:单击新建图标,选择新建API > 生成API

    • 方式二:右键单击左侧导航栏的目标业务流程,选择新建 > API > 生成API

  2. 定义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

    协议

    支持HTTPHTTPS。

    如果您需要通过HTTPS协议调用API,请在发布API至网关后,在API网关控制台绑定独立域名并上传SSL证书,详情请参见支持 HTTPS

    请求方式

    支持GETPOST。

    说明
    • 当请求方式选择GET时,后续API添加的请求参数参数位置,仅支持选择QUERY。

    • 当请求方式选择POST时,后续API添加的请求参数参数位置,支持选择QUERYBODY。

    返回类型

    仅支持配置为JSON类型。

    可见范围

    定义该API创建后的可见范围,取值包括工作空间私有

    • 工作空间:该API对本工作空间内的所有成员可见。

    • 私有:该API仅对API的负责人可见,且暂不支持授权。

    本文示例可见范围选择工作空间

  3. 配置API参数。

    API的编辑页面,配置API参数。本文示例配置如下图。配置API

    1. 选择API的数据源。

      选择表区域,选择生成API所需的数据源表。

      参数

      描述

      数据源类型

      选择需要基于哪类数据源创建API。本文示例选择MySQL类型数据源。

      数据源名称

      选择需要基于该类型数据源下的哪个数据源生成API。本文示例选择一、创建数据源并配置网络连通性创建的rds_workshop_log数据源。

      数据源环境

      标准模式工作空间支持选择访问开发或生产环境数据源,两种环境的区别,详情请参见工作空间模式区别。本文示例选择生产环境

      数据表名称

      选择该数据源下需要生成API的数据表。本文示例选择rds_workshop_log数据源中的rpt_user_info_all_d表。

    2. 定义请求参数和返回参数。

      选择数据表后,选择参数区域会自动显示该表的所有字段,您可根据需要选择相应字段作为API的请求参数和返回参数。若需对字段进行排序,则可将目标字段添加至排序字段区域,进行相应调整。

      本文示例请求参数为uid,返回参数为该表的所有字段。

      说明

      单击右侧导航栏的请求参数返回参数,即可修改参数中字段的类型、示例值、默认值等配置。具体请根据实际需要使用。

  4. 配置API资源组。

    API编辑页面,单击右侧服务资源组,进行配置资源组。由于默认提供的公共数据服务资源组即将下线,所以新建API时,只能配置资源组类型方案为独享服务资源组,选择已配置数据服务配额Serverless资源组(推荐),或独享数据服务资源组

五、测试API

已创建的API需进行测试运行,测试通过后,该API才可发布上线。API生成后,需单击API编辑页面右上方的测试,验证API的请求与返回值是否符合预期。本文示例设置请求参数uid的值为0016359810821,测试返回结果。更多测试详情,请参见测试API测试API

六、发布API

通过测试的API需发布上线,发布成功后,其他服务才可调用该API。单击API编辑页面右上方的提交,选择对应版本进行发布。发布后的API,可在API网关查看。更多发布详情,请参见发布API发布API

七、调用API

调用API目前支持如下认证方式,您可根据需要选择:

  • 简单身份认证:安全性低,适用于报表、数据大屏等场景。

  • 加密签名身份认证:安全性高,适用于应用开发场景。

  1. 单击数据服务顶部菜单栏的服务管理,进入服务管理页面。

  2. 在左侧导航栏选择API调用

    已发布的API将发布至API网关服务,您可通过API网关SDK调用API。详情请参见客户端调用API示例

八、查看与管理API

发布上线的API可在服务管理页面查看,同时,数据服务支持根据业务需求进行下线、授权及查看API调用详情等管理操作。在顶部导航栏选择服务管理页面,查看已发布API,并执行相关管理操作。

区域

描述

API管理

服务管理 > API管理页面,可查看当前已发布的API、已获得授权及授权给他人的API。同时,可对拥有权限的API执行下线授权测试等操作。

API计量

服务管理 > API计量页面,可执行如下操作:

  • 计量大屏:从全局角度了解API的调用情况,包括API总数、状态码分布、错误码分布、总体计量及资源组的分配情况。

  • 计量详情:提供各类可视化图表及统计数据,可针对单个API查看监控图表,包括API网关状态码、数据服务错误码、App请求次数、流量带宽、平均响应时间。

  • 日志分析:可使用日志分析功能对调用请求进行分析,当调用请求出现异常时,智能分析可帮助您快速定位问题,并给出诊断结果和建议。