本文档介绍了如何创建工作区编译替换,以隔离 从 Dataform 工作区创建的表和视图 BigQuery。您可以使用工作区编译替换来创建 隔离的 Dataform 开发环境。
关于工作区编译替换
在 Dataform 工作区中开发 SQL 工作流代码时, Dataform 会实时编译工作区中的代码,以创建 编译结果 工作区。Dataform 会使用 工作流程设置文件,以创建 工作区编译结果。然后, 当您在工作区中触发执行时, Dataform 在以下位置执行工作区编译结果: BigQuery。
要覆盖在 工作流程设置 工作区,则可以创建工作区编译替换。
借助工作区编译替换,您可以替换以下设置 (针对代码库中的所有工作区):
- 项目
- Dataform 在其中执行工作区的 Google Cloud 项目
编译结果,在
workflow_settings.yaml
中设置为defaultProject
或者在dataform.json
中以defaultDatabase
的形式指定。 - 表前缀
- 为以下所有工作区中的所有表格名称添加了自定义前缀: 存储库。
- 架构后缀
附加到以下项中所定义表的架构的自定义后缀
已在“
workflow_settings.yaml
”和“defaultSchema
”中设为“defaultDataset
” 在dataform.json
中,或在schema
参数中 表的config
块。
如需创建隔离的开发环境,您可以使用
唯一编译替换。您可以动态修改表前缀和
使用 ${workspaceName}
变量替换架构后缀编译。
当您在工作区中手动触发执行时,${workspaceName}
变量会将工作区名称注入工作区编译中
替换。
将 ${workspaceName}
设置为表前缀后,Dataform 会将
工作区名称更改为工作区中所有表的名称。执行后
,即可确定表来自哪个工作区。
如果您将 ${workspaceName}
设置为架构后缀,Dataform 会将
将工作区名称更改为 defaultSchema
,从而创建一个专用于
至工作区。执行后,您可以在 BigQuery 中找到所有
从专用架构中的特定工作区执行的表数量。
动态工作区编译替换示例
以下示例展示了应用于
这个代码库包含以负责相关工作的开发者命名的工作区,
Sasha
和 Kai
。
在此示例中,工作区编译替换的目标是创建 为 Sasha 和 Kai 部署独立的开发环境。
workflow_settings.yaml
中设定了以下默认设置:
defaultProject
:analytics
defaultDataset
:dataform
以下工作区编译替换会创建一个动态表前缀并 架构后缀:
- Google Cloud 项目 ID:
analytics_dev
- 表前缀:
${workspaceName}
- 架构后缀:
${workspaceName}
当 Sasha 在 Sasha
工作区中手动触发执行时,
Dataform 使用以下设置执行其内容:
- Google Cloud 项目:
analytics_dev
- schema:
dataform_sasha
- 表名称:
sasha_name
。sasha_orders
。
当 Kai 在 Kai
工作区中手动触发执行时,Dataform
使用以下设置执行其内容:
- Google Cloud 项目:
analytics_dev
- schema:
dataform_kai
- 表名称:
kai_name
。kai_orders
准备工作
在 Google Cloud 控制台中,前往 Dataform 页面。
选择或创建代码库。
可选:要替换默认的 Google Cloud 项目,请授予您的 Dataform 服务账号访问权限 您计划使用的 Google Cloud 项目。
所需的角色
如需获取创建工作区编译替换所需的权限,
请让管理员向您授予
针对代码库的 Dataform Admin (roles/dataform.admin
) IAM 角色。
如需详细了解如何授予角色,请参阅管理访问权限。
创建工作区编译替换
如需创建 Dataform 工作区编译替换,请按以下步骤操作:
- 在您的代码库中,转到设置。
- 点击修改。
- 在工作区编译替换窗格中的 Google Cloud 项目 ID 字段中,输入 Google Cloud 项目的 ID。
- 在表前缀字段中,为所有表名称输入一个前缀。
- 可选:如需为每个表创建唯一的动态表前缀
工作区,请输入
${workspaceName}
作为表前缀。
- 可选:如需为每个表创建唯一的动态表前缀
工作区,请输入
- 在架构后缀字段中,输入要附加到其架构的后缀
已创建的表或视图
- 可选:如需为每个架构创建唯一的动态架构后缀
工作区,请输入
${workspaceName}
作为表后缀。
- 可选:如需为每个架构创建唯一的动态架构后缀
工作区,请输入
- 点击保存。
Dataform 将工作区编译替换应用于以下项中的所有工作区: 代码库
修改工作区编译替换
如需修改 Dataform 工作区编译替换,请按以下步骤操作:
- 在您的代码库中,转到设置。
- 点击修改。
- 修改工作区编译替换,然后点击 Save。
删除工作区编译替换
如需删除 Dataform 工作区编译替换,请按以下步骤操作:
- 在您的代码库中,转到设置。
- 点击修改。
- 在工作区编译替换窗格中,点击全部清除,然后 然后点击保存。
后续步骤
- 如需了解如何手动触发执行,请参阅触发器 执行。