标准模式下,一个DataWorks工作空间对应两个MaxCompute项目,隔离开发环境和生产环境,增加任务的发布流程,保证任务代码的正确性。

标准模式的优势

在DataWorks旧版本中,您创建的是一个DataWorks工作空间对应一个MaxCompute项目,即新版DataWorks中的简单模式。

简单模式的工作空间容易导致表权限不可控。例如,在简单模式下无法直接实现仅允许工作空间中的某些人查询部分表的场景。因为一个DataWorks工作空间对应一个MaxCompute项目,DataWorks的开发角色权限在MaxCompute项目下有全部表的操作权限,所以无法对表权限进行精准控制。此时您必须新建一个单独的DataWorks工作空间,使用工作空间隔离的方式,完成数据的隔离。

旧版DataWorks支持手动发布、绑定两个DataWorks工作空间。设置工作空间A为工作空间B的发布工作空间,工作空间A即可接收工作空间B中发布过来的任务,无需开发代码。此时工作空间A成为类似生产环境的工作空间,工作空间B则是类似开发环境的工作空间。

绑定两个DataWorks工作空间存在一定的不足:工作空间A是一个正常的DataWorks工作空间,可以直接在数据开发模块中进行任务开发,导致(生产)环境的代码更新入口不唯一,容易影响整个开发流程。

针对上述问题,新版DataWorks推出了标准模式。标准模式的工作空间具有以下优势:
  • 一个DataWorks工作空间对应两个MaxCompute项目,可以将开发和生产的计算引擎分开。工作空间成员只拥有开发环境的权限,默认无权限操作生产环境的表,提升了生产环境数据的安全性。
  • 标准模式下,数据开发界面默认操作开发环境的任务,只有发布后才会是生产环境的任务。标准模式可以保证生产环境代码编辑入口的唯一性,并提升生产环境代码的安全性。
  • 标准模式下,开发环境默认不进行周期调度,可以减少账号下的计算资源消耗,保障生产环境任务运行的资源。

工作空间模式升级

主账号可以通过下述操作,升级简单模式的工作空间为标准模式。

  1. 登录DataWorks控制台,单击相应工作空间后的工作空间配置
  2. 单击工作空间配置对话框中的更多设置,即可进入工作空间配置页面。
    您也可以进入数据开发页面,单击右上角的工作空间管理,进入工作空间配置页面。工作空间管理
  3. 工作空间配置页面,单击模式后的升级为标准模式升级
  4. 升级为标准模式对话框中,输入开发环境下的MaxCompute项目名称,并勾选确认要升级此工作空间,单击确定
    注意 此处您需要新建一个简单模式工作空间作为开发环境下的MaxCompute项目,并可以在工作空间配置 > 计算引擎信息页面,选择使用个人账号工作空间所有者操作生产环境的数据。
  5. 单击确认升级提示框中的确认

完成上述操作后,即可返回工作空间配置页面,查看该工作空间的模式已显示为标准模式

简单模式升级为标准模式的影响

简单模式升级为标准模式后,DataWorks会将原工作空间中的成员加入新建的MaxCompute开发项目中,并将原项目的成员和角色都保留。但会撤销项目成员在生产项目的权限,只有项目所有者具有生产项目的权限。

例如,某公司在DataWorks上有一个工作空间A,单击升级为标准模式后,创建了一个开发环境的工作空间A_dev。原来工作空间A中的成员、角色、表、资源都会在工作空间A_dev下进行创建(仅创建表,不会克隆表数据)。原工作空间A下的成员A1(开发角色)、B1(运维角色),同时也会加入工作空间A_dev,并保留角色权限。A项目会变成生产项目,A1和B1用户在工作空间A中的数据权限会被撤销,默认没有表的select和drop权限,生产环境的数据会直接受到保护。

默认在DataStudio(数据开发)页面操作的MaxCompute项目是A_dev。如果在数据开发界面查询生产环境的数据,需要使用项目名.表名的方式。数据开发页面只能编辑A_dev环境的代码,如果需要更新工作空间A中的代码,只能通过A_dev提交任务至调度系统,发布至生产环境的方式进行更新。任务发布(审核)可以保障生产环境代码的正确性。

说明 工作空间模式升级后,无法直接访问原工作空间的数据,需要申请角色权限。在数据开发界面查询的表,默认是开发环境的表。如果要访问生产表,需要申请完角色权限后,使用项目名.表名的方式访问。

工作空间升级到标准模式后,子账号之前的角色会被清除。如果您的代码中写了某个账号的密钥,可能会产生无权限的报错。