若您当前使用的是简单模式工作空间,但希望将开发与生产环境隔离,可将简单模式工作空间升级为标准模式工作空间。本文为您介绍如何升级工作空间模式。
操作须知
升级工作空间模式前,您需先了解以下内容:
了解简单模式与标准模式工作空间的区别,包括不同工作空间模式的物理形态、开发流程等差异,详情请参见必读:简单模式和标准模式的区别。
了解创建并绑定数据源的相关内容,详情请参见创建并管理数据源、开发前准备:绑定数据源或集群。
使用限制
仅支持阿里云主账号执行工作空间模式升级操作。
升级策略
工作空间模式升级后,平台会基于原简单模式工作空间的生产环境数据源,新增对应的开发环境数据源,实现数据源环境隔离。
MaxCompute数据源:平台通过判断数据源是否被绑定至数据开发(DataStudio),提供相应升级策略。
数据源未绑定至数据开发
复制一份生产环境的数据源至开发环境,并将开发环境数据源的默认访问身份配置为执行者。
若简单模式工作空间数据源(即生产环境数据源)的默认访问身份为任务责任人,则升级之后,生产环境数据源的默认访问身份更新为阿里云主账号。
数据源已绑定至数据开发
复制一份生产环境的数据源至开发环境,并且开发环境数据源的MaxCompute项目名称自动添加
_dev
后缀。若生产环境数据源的项目名称原本已包含_dev
,则对应的开发环境数据源的项目名称将继续添加_dev
后缀。示例:生产环境MaxCompute项目名称为
test_dev
,升级后,对应开发环境的项目名称则为test_dev_dev
。
非MaxCompute数据源:复制一份生产环境的数据源至开发环境,即开发环境和生产环境将操作同一个库。
本文主要针对MaxCompute简单模式升级标准模式的场景进行说明。
类别 | 升级前 | 升级后 |
数据源 | 一个 | 新增开发环境数据源,开发环境和生产环境可对应不同的数据源。 说明
|
工作空间模式升级
阿里云主账号可通过下述操作,将简单模式的工作空间升级为标准模式。
升级操作不可逆,请谨慎操作。
进入管理中心页面。
登录DataWorks控制台,切换至目标地域后,单击左侧导航栏的管理中心,在下拉框中选择对应工作空间后单击进入管理中心。
在
,单击模式后的升级为标准模式。在升级为标准模式对话框,勾选此升级不可逆,请确定要升级此工作空间,单击开始升级。
MaxCompute简单模式升级为标准模式的影响
下文通过升级过程及相关案例,为您介绍简单模式升级为标准模式的影响。您也可通过场景:MaxCompute引擎在不同模式工作空间访问资源与权限说明了解更多升级详情。
升级过程
简单模式升级为标准模式后,DataWorks会将原工作空间中的成员加入新建的MaxCompute开发项目中,并将原项目的成员和角色都保留。但会撤销项目成员在生产项目的权限,只有项目所有者具有生产项目的权限。
生成开发环境项目(项目名格式:
projectname_dev
)、生成开发数据源。添加开发环境项目成员:将DataWorks工作空间成员在引擎层面添加为开发引擎项目成员,命令
add user
。移除原空间成员生产项目权限:简单模式空间下,RAM用户拥有较大的生产环境权限,升级后,将移除RAM用户拥有的生产项目权限,只允许RAM用户操作
_dev
项目。
场景示例
例如,某公司在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提交任务至调度系统,发布至生产环境的方式进行更新。任务发布(审核)可以保障生产环境代码的正确性。
工作空间模式升级后,无法直接访问原工作空间的数据,需要申请角色权限。在数据开发界面查询的表,默认是开发环境的表。如果要访问生产表,需要申请完角色权限后,使用项目名.表名的方式访问。
工作空间升级到标准模式后,RAM用户之前的角色会被清除。如果您的代码中写了某个账号的密钥,可能会产生无权限的报错。
影响行为示例
假设当前已绑定MaxCompute数据源,简单模式工作空间使用的账号为阿里云主账号,升级为标准模式工作空间后,RAM用户(即子账号)的操作行为变更如下。
行为场景 | 原简单模式工作空间 | 现标准模式工作空间 |
操作资源(table/resource/function) | 直接操作即可成功。 说明 简单模式工作空间直接使用阿里云主账号权限执行任务,所以即便是RAM用户操作,其同样与主账号有相等的权限,由于阿里云主账号权限较大,因此RAM用户可以直接操作生产数据,无法做到权限控制。 |
|
访问环境及账号问题 | 简单模式仅拥有生产环境,所有命令直接操作生产。
|
|
访问对应环境资源 | projectname.tablename/resource/function |
|