背景
Dataphin提供两种项目模式:Basic简单模式和生产开发隔离的Dev-Prod模式。使用开发生产隔离的模式,可以提供代码及数据的生产开发环境隔离。然而在某些对安全性要求更高的场景(比如金融场景),客户需要对生产和开发环境进行物理的隔离。Dataphin的3.2新版本提供的跨租户发布功能也是为了满足该需求而发布。
跨租户发布功能模块目前提供了以下的功能:
- 跨租户发布规划类对象,包括公共定义、数据板块、计算源、项目。数据源暂不支持跨租户发布。
- 跨租户发布数据架构的相关对象,包括主题域、业务对象、业务活动。
- 跨租户发布研发的对象,如集成任务、建模研发对象、指标研发对象、资源函数及实时离线代码任务。
跨租户发布的基本流程
源环境(导出发布文件)
目标环境(导入发布文件并发布对象)
发布前准备
角色设置-跨租户发布使用人
在使用跨租户发布功能前,我们需要给操作人设置相应的角色,赋予操作所需要的权限
- 系统管理员:跨租户发布虽然是低频操作但操作可能与日常的研发操作冲突,因此在导出发布文件及进行导入对象的跨租户发布时,Dataphin需要进入“维护模式”。设置维护模式的操作人员需要具有系统管理员角色,或联系系统管理员设置维护模式。
- 跨租户发布使用人:要给需要在源环境中导出发布文件及目标环境中导入发布文件及进行发布操作的成员添加该角色
跨租户发布设置
在开始导出跨租户发布文件或导入发布文件前,我们需要设置源环境和目标环境的发布文件保留时间及跨租户发布凭证。
- 发布文件保留时间:导出或导入的发布文件在Dataphin系统内保留时间。默认为180天。
- 跨租户发布凭证:Dataphin会校验源环境(导出时)和目标环境(导入时)的一致性。请注意保护该发布凭证避免泄漏。
在Dataphin中发布文件默认可存储180天,跨租户发布凭证可以自动生成也可以手动设置。
在源环境中导出发布文件
发布文件是在物理隔离的两套环境中存储和转移发布对象的介质。我们需要在源环境中导出发布文件,在目标环境中上传发布文件后,再发布对象。在本章节中,我们将向您展示如何导出发布文件。
进入维护模式
在开始导出之前,我们需要在源环境开启“跨租户发布”的维护模式。若您有系统管理员的角色,您可点击右上角的设置-启动维护/升级,选择“跨租户发布”,确定进入下一步后,可设置维护开始及预计持续时间,然后启动维护模式。启动维护模式后,仅具有“跨租户发布使用者”角色的成员可正常的使用dataphin,其他的人员则会被限制使用Dataphin。若您没有系统管理员的角色,您需要联系Dataphin的系统管理员先将系统设置为跨租户发布的维护模式。
导出发布文件
进入维护模式之后,就可以开始导出发布文件了。
在计算源导出时,由于开发环境与生产环境的连接可能相同,而认证信息往往是不同的,因此默认的情况下,我们建议保留连接信息,但是清除掉认证信息。当然用户也可以自主的选择是否保留连接信息与认证信息。
点击启动后,Dataphin就开始将租户内的所有的在生产环境的对象导出,并存放在文件系统中。导出完成后,可点击“下载”来下载发布文件到本地文件系统中,以备未来上传到目标系统。
退出维护模式
导出发布文件后我们就可以退出维护模式,这样用户可以正常的使用Dataphin进行研发了。
Demo:从源环境中导出发布文件
在目标环境中导入发布文件,并发布对象
我们已经在源环境中导出并下载了发布的文件,现在我们可以开始在目标环境导入发布文件,并将发布文件中的对象发布到目标环境的开发或生产环境中。
进入维护模式
同样的,在目标环境进行跨租户发布前,我们需要让Dataphin进入“跨租户发布”维护模式,以减少并发操作对跨租户发布的干扰,避免操作的冲突,以提升系统的稳定性。
若您有系统管理员的角色,您可点击右上角的设置-启动维护/升级,选择“跨租户发布”,确定进入下一步后,可设置维护开始及预计持续时间,然后启动维护模式。启动维护模式后,仅具有“跨租户发布使用者”角色的成员可正常的使用dataphin,其他的人员则会被限制使用Dataphin。若您没有系统管理员的角色,您需要联系Dataphin的系统管理员先将系统设置为跨租户发布的维护模式。
导入发布文件
现在我们可以开始上传在源环境中导出的发布文件,在目标环境导入了。在发布文件导入时,Dataphin会进行基础的校验,包括:
- 发布文件的完整性及发布文件来源及目标环境的发布凭证的一致性
- 来源环境及目标环境Dataphin系统版本的一致性
- 数据源名称与数据源类型的一致性
通过校验后,即可启动导入待发布对象,我们就可以在待发布对象中查看发布对象了。接下来我们就可以做以下的发布动作:
- 跨租户发布规划类对象,包括公共定义、数据板块、计算源、项目。数据源暂不支持跨租户发布
- 跨租户发布数据架构的相关对象,包括主题域、业务对象、业务活动
- 跨租户发布研发的对象,如集成任务、建模研发对象、指标研发对象、资源函数及实时离线代码任务
发布规划类对象
在发布其他数据架构及研发对象前,我们需要先通过发布规划类对象完成目标环境的基础构建。在规划部分,我们需要按照顺序发布公共定义、数据板块、计算源、项目来依次发布。其中在发布计算源时,我们需要设置目标环境下的计算源的连接参数及认证信息,通过测试后即可发布成功。
发布数据架构的对象
基础环境构建好之后,我们就可以开始发布数据架构对象了,包括主题域、业务对象、业务活动。
发布研发对象
在数据架构的对象发布完成后,就可以开始发布研发对象了。
在发布对象时,若有依赖的物理表未创建,则需要在Dataphin中手动创建这些物理表。Dataphin提供了两种途径创建物理表:
- 使用手动任务的方式创建。通常我们会将建表预计维护在手动任务中。若在源环境中也采用了这种方式,则这些建表语句也会在跨租户发布的待发布列表中,我们就可以发布这些手动任务,在研发-运维-手动任务中执行这些手动任务创建物理表。
- 使用跨租户发布中的下载建表语句后,执行这些建表语句,创建物理表。您可选择需发布的对象,下载建表文件,并参考建表文件里的DDL语句创建物理表。您可在即席查询或其他工具中创建执行DDL创建物理表。
发布对象:创建好物理表后,您可开始发布对象。您可根据项目、提交人、提交时间、对象类型、变更类型、当前环境是否变更等条件筛选发布对象。发布这些对象会覆盖当前环境的对象。如发布为删除对象,则当前环境中的对象会被下线删除,需谨慎操作。发布动作可分为:
- 发布到开发:仅对Dev-Prod模式项目生效。发布到Dev环境。当前用户需项目的开发者或项目管理员权限。
- 发布到生产:对Basic模式和Dev-Prod模式项目生效。
- 发布到Basic环境。需Basic项目的开发者或项目管理员权限
- 发布到Dev-Prod环境的Prod环境。需Prod环境的运维或项目管理员权限。
发布完成后,你可以查看跨租户发布的发布记录,查看发布原因和详情。
退出维护模式
完成跨租户发布后后我们就可以退出维护模式,这样用户可以正常的使用Dataphin进行研发了。
Demo:在目标环境中发布对象
总结
以上就是跨租户发布的简单的介绍。未来,我们将持续完善跨租户发布的功能,支持数据源的跨租户发布,质量规则、安全扫描规则的跨租户发布,以及增量导出等功能。