一、基本介绍

DataWorks作为一站式大数据开发治理平台,构建了从数据集成、数据开发、数据服务到应用开发的全链路解决方案。从下图可以看到,在整个大数据链路中,数据服务将数仓、数据库和数据应用进行串联,形成了一座数据与应用之间的桥梁。

数据服务通过将数据封装成数据API的方式,可以为个人、团队及企业提供全面的数据开放及共享能力。借助这个平台,用户能够统一管理面向内外部的API服务。数据服务提供了向下对接数据源、向上支撑业务应用的有效连接。

(一)数据服务整体架构

在整体架构大图中,最上层有三个模块,依次是数据服务前台、OpenAPI 和API网关;其中,用户可以通过数据服务的产品界面(数据服务前台)或者OpenAPI的方式来快速创建API并发布,或者在API网关中对API进行二次修改。架构下层以API开发平台作为底座。数据服务开发平台以API为核心,提供了组织管理、API开发、资源开发、数据源管理、API权限管理以及API计量等能力。

在组织管理中,用户可以创建业务流程,将业务流程作为逻辑单元来存放API等资源对象。在业务流程的内部,又可以进一步细分,通过文件夹的方式实现多层级的管理结构。

在API开发能力中,除了多样化的开发方式,比如向导模式、脚本模式等,数据服务还同样提供了接口调试和一键发布的能力,实现了API产出工作的轻量化。另外,辅助API开发和管理的还包含一些其他的能力,比如权限管理(API可见性、授权调用),计量统计(可视化图表直观展示调用情况)等。

数据服务和API网关产品是紧密结合的。在开发和管理中,数据服务中发布的API可以在网关列表中进行查看和管控。在实际调用链路中,当用户侧发送调用请求至网关后,网关会进一步将调用请求转发至数据服务后台系统,数据服务会进行请求解析、SQL解析等处理,最终从数据源中获取有效的数据来返回给用户。

由上述过程可知,从用户发送请求到数据服务返回数据结果的整体链路中,不同产品(客户端、API网关、数据服务、数据源)之间的衔接、处理过程是几乎无感知的,用户只需专注于数据本身即可,DataWorks数据服务会为用户封装并提供一系列底层的服务。

(二)数据服务应用场景

上述架构大图从全局角度展示了数据服务的各项能力、处理逻辑和基础依赖等,而下方图片则从实操入手展示了用户借助数据服务实现API开发、使用的全流程。

首先,在数据服务平台上有两种方式新建API:如果用户已有数据源,可以通过填写相应连接信息来直接连通数据源生成API;如果用户已有封装好的API,则可以将已有的API的host地址直接注册至数据服务平台进行统一管控。除此之外,数据服务提供了函数计算的能力来辅助API的生成,还支持将多个API和函数编排为工作流程来生成复合型API。

无论是生成或注册类型的独立API,还是服务编排类型的复合API,数据服务都可以将这些API一键发布至网关,用户可将发布后的数据接口在应用、报表和大屏中进行调用、消费,或是上架到阿里云的API市场进行销售、授权给他人实现内外部的数据共享等。由此看来,数据服务支持的应用场景是非常丰富的,可以满足用户的多样化需求。

二、数据服务的产品优势

在传统方式中,开发一个API接口的过程是非常复杂且耗时漫长的,从准备和连接数据库开始,需经历API查询逻辑的开发、API鉴权和流控能力的开发、服务器搭建、接口部署等步骤;待接口上线后,用户还需要进行一系列的后期运维工作。相比较而言,在数据服务中开发API只需两步:准备数据库和配置API的查询逻辑;后续的部署、管控、运维等工作用户都无须自行研发,数据服务将提供完善的产品能力、基础设施和底层资源。

由此可见,数据服务整体采用Serverless架构,具备零代码、免运维、弹性扩展的产品优势;用户只需关注API的查询逻辑即可,极大地轻减了开发API的繁复过程,实现降本提效。

除此之外,如需创建API并获取数据结果,数据源和网络的连通性是必不可少的。DataWorks数据服务也提供了相应的产品能力,支持在多种网络环境下连通多种数据源类型。数据服务支持的网络环境包括VPC网络、经典网络、公网网络;支持的数据类型包括常见的关系型数据库和非关系型数据库,例如MySQL、PostgreSQL、Oracle、OTS、MongoDB等;以及大数据存储类型,例如MC-Hologres等。数据服务也将持续丰富可访达的数据源类型。

综上所述,数据服务的产品优势可以总结为:数据源类型多样,网络类型丰富,即连-即查-即开发。

三、主要功能解析

在开始使用DataWorks数据服务之前,需要进行前期准备:开通API网关服务,以确保API能够成功发布、获得有效域名。

经过前期准备后,用户可进入数据服务的服务开发页面,在左侧目录中创建一个业务流程作为组织单元,并在该业务流程下继续创建目标API以及其他对象(函数、服务编排)。

下图是数据服务中常见的使用流程,无论是生成API、注册API,或者是复合的API服务编排,经过调试后,均可发布至网关,作为数据接口进行在线调用。

接下来,将围绕数据服务的核心功能进行详细描述。

(一)生成API

生成API支持两种方式,分别是向导模式和脚本模式。如果用户是分析师或业务人员,可以采用可视化向导模式。如果用户是开发者或SQL深度使用者,可以通过脚本模式来自定义SQL脚本,编辑复杂查询逻辑。

在向导模式中,用户选择目标数据表名称后,系统将自动获取表结构并展示在API编辑页面中。通过勾选请求参数和返回参数,可实现API整体逻辑的定义。向导模式生成API能够快速实现单表查询,不仅支持请求参数的多种操作符类型(比如等值查询、模糊匹配等),也支持将返回结果按照特定字段进行排序(将某字段添加至排序列表)。使用向导模式的优势是非常明显的:可视化、零代码、易上手。

在脚本模式中,数据服务提供了智能SQL编辑器,支持在SQL中编辑多表关联分析逻辑,以及添加聚合函数计算和其他复杂条件查询等。值得一提的是,涵盖Mybatis语法的高级SQL模式已正式上线,用户可灵活定义动态标签逻辑。

(二)注册API

除了生成API之外,用户还可以将已有的API注册至数据服务平台,便于统一的管理、发布和对接。注册API支持四种常见请求方式:GET、POST、PUT和DELETE,也支持三种常见的数据格式,FORM、JSON、和XML。

(三)函数及过滤器

除了API之外,数据服务还提供了另一项资源开发能力:Python函数。用户可以开发Python脚本,绑定至某个API作为前置或者后置过滤器,分别对API的请求参数和返回结果进行处理,从而增强API的逻辑表达能力,适配各类场景,实现数据变形和转换的效果。

(四)服务编排

数据服务的服务编排能力可以将若干API和函数以拖拽式节点的可视化方式编排成一个工作流,实现API之间的串行、并行调用。

例如,在上图中,API、函数和Switch条件分支节点被组合在了一起,封装成一个新的整体的API来提供给业务方。这样的使用方式不但能够减少网络开销,还能够提升整体的API调用性能。如图所示,某服务编排样例的组织逻辑:通过工作流将若干API融合,上游API的输出作为下游API的输入,再根据不同场景进行了分支条件判断,获得最终输出。

(五)API详情页

API成功发布后,数据服务将自动生成详尽的API文档,即API详情页,免除用户手工编写文档的烦恼。API详情页可供开发者、调用者查看,相当于版本记录及调用说明。在API详情页中包含的信息有:API的基本信息、请求和返回参数、正常和异常返回示例以及错误码等内容,帮助用户对API进行全方位了解。

(六)API授权

数据服务支持对数据接口设置调用授权,实现安全可靠的数据共享。

在某些场景下,若直接将数据库、数据表的权限进行多频次、大范围地暴露,不仅数据冗余度高,而且影响数据安全性。面向此类场景,数据服务的授权能力让API不仅可以被用户自身调用,还可以授权给他人调用。API授权方式如下:进入服务管理页面,在列表中定位到目标API,在“操作”一栏点击“授权”,并在弹窗中进一步选择要授权的云账号ID、目标工作空间,设置权限有效期,即可轻松实现数据少而精地开放共享了。

(七)API调用鉴权

在API调用权限方面,数据服务提供了两种方式,分别是:简单身份认证、加密签名身份认证,用户可以根据不同的场景灵活选择认证方式。

第一种方式是简单身份认证。简单身份认证使用AppCode鉴权,如需在API调用时快速获取身份认证参数,可在API详情页直接复制“带参数调用地址”,该调用地址中默认包含AppCode信息。

第二种方式是加密签名身份认证。加密签名身份认证是通过AppKey和AppSecret加密算法计算签名的方式进行鉴权的,具备更高的安全性。

以上两种调用鉴权信息均能够在API调用的详细信息页面查看。

(八)API计量

数据服务提供了计量统计的能力,支持对已发布API进行自定义周期内的调用统计,包括:

除了数据服务的计量统计信息,用户可以结合SLS日志服务打印详细的API调用日志。

除此之外,数据服务在网关发布的API还支持配置相应的流控策略和报警规则,对业务线上调用API提供有效的护航。

数据服务介绍及实践请参考:

DataWorks官网:

大数据&AI体验馆:


本文由转载于互联网,如有侵权请联系删除!