安排生产环境的运行
本快速入门将引导您完成以下步骤,以在 Dataform 中安排生产环境的运行:
- 创建 Dataform 仓库。
- 授予所需角色。
-
创建
production版本配置并设置创建production编译结果的频率。然后,创建production工作流配置,选择production版本配置,并设置运行production编译结果的时间表。
准备工作
- 登录您的 Google Cloud 账号。如果您是 Google Cloud新手, 请创建一个账号来评估我们的产品在 实际场景中的表现。新客户还可获享 $300 赠金,用于 运行、测试和部署工作负载。
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
Enable the BigQuery and Dataform APIs.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin), which contains theserviceusage.services.enablepermission. Learn how to grant roles.-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
Enable the BigQuery and Dataform APIs.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin), which contains theserviceusage.services.enablepermission. Learn how to grant roles.
此外,您还可以选择或创建 自定义服务账号 ,以在 BigQuery 中运行工作流。
所需角色
如需获得执行本快速入门中的所有任务所需的权限,请让您的管理员为您授予以下 IAM 角色:
- 仓库的
roles/dataform.adminDataform Admin - Service Account User (
roles/iam.serviceAccountUser) 自定义服务帐号 - 项目的 Project IAM Admin (
roles/resourcemanager.projectIamAdmin)
如需详细了解如何授予角色,请参阅管理对项目、文件夹和组织的访问权限。
授予必需的角色
如需在 BigQuery 中运行工作流,您可以使用自定义服务 账号或 Google 账号 (预览版)。 不过,自定义服务帐号凭据是计划性运行的默认选项。不建议在计划性运行中使用 Google 账号用户账号凭据。
您的自定义服务帐号必须具有以下必需的角色:
- BigQuery Data Editor
(
roles/bigquery.dataEditor) 针对项目或特定 BigQuery 数据集,Dataform 需要对这些项目或数据集拥有读取和写入权限。这通常包括托管 Dataform 仓库的项目。 - BigQuery Data Viewer
(
roles/bigquery.dataViewer) 针对项目或特定 BigQuery 数据集的 BigQuery Data Viewer, Dataform 需要对这些项目或数据集拥有只读权限。 - BigQuery Job User
(
roles/bigquery.jobUser) 针对托管 Dataform 仓库的项目的。
如需让 Dataform 使用您的自定义服务帐号,默认 Dataform 服务代理必须对自定义服务帐号资源具有以下角色:
- Service Account Token Creator
(
roles/iam.serviceAccountTokenCreator) - Service Account User
(
roles/iam.serviceAccountUser)
如需授予这些角色,请按照以下步骤操作:
在 Google Cloud 控制台中,前往 IAM 页面。
点击授予访问权限 。
在新的主账号 字段中,输入您的自定义服务帐号 ID。
在选择角色 菜单中,逐个选择以下角色,并为每个其他角色使用添加其他角色 :
- BigQuery Data Editor
- BigQuery Data Viewer
- BigQuery Job User
点击保存 。
在 Google Cloud 控制台中,前往服务账号页面。
选择您的自定义服务帐号。
前往有权访问的正文 ,然后点击授予访问权限 。
在新的主账号 字段中,输入您的默认 Dataform 服务代理 ID。
默认 Dataform 服务代理 ID 采用以下格式:
service-PROJECT_NUMBER@gcp-sa-dataform.iam.gserviceaccount.com将
PROJECT_NUMBER替换为您的 Google Cloud 项目的数字 ID。您可以在 Google Cloud 控制台信息中心找到 Google Cloud 项目 ID。如需了解详情,请参阅 查找项目名称、编号和 ID。在选择角色 列表中,添加以下角色:
- Service Account User
- Service Account Token Creator
点击保存 。
如需详细了解如何授予角色,请参阅 向 Dataform 授予所需的访问权限。
创建 Dataform 仓库
在 Google Cloud 控制台中,前往 Dataform 页面。
点击 创建制品库。
在创建仓库页面上,执行以下操作:
在仓库 ID 字段中,输入
quickstart-production。在区域 列表中,选择
europe-west4。在服务账号 列表中,为仓库选择一个自定义服务帐号。
在 actAs 权限检查 部分中,对仓库中的用户操作强制执行权限检查。
点击创建 。
点击前往仓库 。
创建版本配置和工作流配置
如需创建 quickstart-production
仓库的生产编译结果并安排 production 表的运行,请按照以下步骤操作:
在 Google Cloud 控制台中,前往 Dataform 页面。
点击
quickstart-production。点击版本和时间安排 ,然后点击创建正式版本 。
在创建版本配置 窗格中,配置以下设置:
- 在发行 ID 字段中,输入
production。 - 在 Git Commitish 字段中,保留默认值
main。 - 在时间表频率 部分的重复频率 菜单中,选择自定义 。
- 在自定义时间表 字段中,输入
0 16 * * *。 在时区 菜单中,选择 UTC+1 时区,例如中欧标准时间 (CET) 。
每天 UTC+1 下午 4 点,Dataform 会编译
quickstart-production仓库,并应用在此版本配置中配置的编译设置 来创建production编译结果。
- 在发行 ID 字段中,输入
点击创建 。
production版本配置会在每天 UTC+1 下午 4 点生成 整个quickstart-production仓库的编译结果。确保您位于版本和时间安排 标签页。前往工作流配置 部分,然后点击创建 。
在创建工作流配置 窗格中,配置以下设置:
- 在配置 ID 字段中,输入
production。 - 在版本配置 菜单中,选择
production。 - 在时间表频率 部分的重复频率 菜单中,选择自定义 。
- 在自定义时间表 字段中,输入
0 17 * * *。 在时区 菜单中,选择 UTC+1 时区,例如中欧标准时间 (CET) 。
每天 UTC+1 下午 5 点,Dataform 会运行
quickstart-production仓库的最新production编译结果。点击所有操作 。
Dataform 会运行
production编译结果中的所有工作流操作。
- 在配置 ID 字段中,输入
点击创建 。
production工作流配置会在每天 UTC+1 下午 5 点运行通过生产版本配置创建的整个最新 编译结果 。
查看过去的 production 编译结果
如需查看过去的计划性 production 编译结果,请按照以下步骤操作:
在 Google Cloud 控制台中,前往 Dataform 页面。
选择
quickstart-production仓库。点击版本和时间安排 。
在版本配置 部分中,点击
production。
查看过去的 production 工作流运行
如需查看过去的 production 工作流运行,请按照以下步骤操作:
在 Google Cloud 控制台中,前往 Dataform 页面。
选择
quickstart-production仓库。点击工作流执行日志 。
选择一个工作流运行,以查看更多详细信息,包括每个操作的状态和任何日志。
清理
为避免因本页中使用的资源导致您的 Google Cloud 账号产生费用,请按照以下步骤操作。
删除在 BigQuery 中创建的数据集
为避免 BigQuery 资源产生费用,请按照以下步骤删除名为 dataform_production 的数据集:
在 Google Cloud 控制台中,前往 BigQuery 页面。
在探索器面板中,展开您的项目并选择
dataform_production。点击 操作 菜单,然后选择 删除。
在删除数据集 对话框中,输入 delete,然后点击删除。
删除 Dataform 版本配置
创建 Dataform 版本配置不会产生任何相关费用。但是,如果您想删除 production 版本配置,请按照以下步骤操作:
在 Google Cloud 控制台中,前往 Dataform 页面。
点击
quickstart-production。点击版本和时间安排 ,然后前往版本配置 部分。
在
production版本配置旁边,点击 更多 菜单,然后点击删除。在删除版本配置 对话框中,点击删除 。
删除 Dataform 工作流配置
为避免 BigQuery 资源产生费用,请按照以下步骤删除 Dataform production 工作流配置:
在 Google Cloud 控制台中,前往 Dataform 页面。
点击
quickstart-production。点击版本和时间安排 ,然后前往工作流配置 部分。
在
production工作流配置旁边,点击 更多 菜单,然后点击删除。在删除版本配置 对话框中,点击删除 。
删除 Dataform 仓库
创建 Dataform 仓库不会产生任何相关费用。 但是,如果要删除仓库及其所有内容,请按以下步骤操作:
在 Google Cloud 控制台中,前往 Dataform 页面。
在
quickstart-production旁边,点击 更多 菜单, 然后选择 删除。在删除仓库 窗口中,输入仓库的名称以确认删除。
请点击删除 来确认操作。
后续步骤
- 如需详细了解服务账号,请参阅 自定义服务账号和 Dataform 服务代理简介。
- 如需详细了解 Dataform 中的代码生命周期,请参阅 Dataform 中的代码生命周期简介。
- 如需详细了解 Dataform 中工作流生命周期的最佳实践,请参阅 工作流生命周期的最佳实践。
- 如需详细了解 Dataform 中的版本配置,请参阅 创建版本配置。
- 如需详细了解 Dataform 中的工作流配置,请参阅 使用工作流配置安排运行。