安排生产运行
本快速入门将引导您完成以下步骤,以便在 Dataform 中安排生产运行:
- 创建 Dataform 代码库。
- 授予所需角色。
-
创建
production发布配置,并设置创建production编译结果的频率。然后,创建production工作流配置,选择production发布配置,并设置运行production编译结果的时间表。
准备工作
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
-
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. -
针对代码库的 Dataform Admin (
roles/dataform.admin) -
Dataform Editor (
roles/dataform.editor) 对工作区和工作流调用的访问权限 -
自定义服务账号的 Service Account User (
roles/iam.serviceAccountUser) 角色 -
针对项目的 Project IAM Admin (
roles/resourcemanager.projectIamAdmin) - 对 Dataform 需要同时具有读取和写入权限的项目(通常包括托管 Dataform 代码库的项目)的 BigQuery Data Editor (
roles/bigquery.dataEditor) 角色。 - Dataform 需要对项目具有只读权限,因此您需要为这些项目授予 BigQuery Data Viewer (
roles/bigquery.dataViewer) 角色。 - BigQuery Job User (
roles/bigquery.jobUser) 角色,该角色针对的是托管 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在选择角色列表中,添加以下角色:
- Service Account User
- 服务账号令牌创建者
点击保存。
在 Google Cloud 控制台中,前往 Dataform 页面。
点击 创建制品库。
在创建仓库页面上,执行以下操作:
在代码库 ID 字段中,输入
quickstart-production。在区域列表中,选择
europe-west4。在服务账号字段中,点击手动输入,然后输入自定义服务账号的名称。请务必在此字段中输入您的自定义服务账号。
点击创建。
点击前往代码库。
在 Google Cloud 控制台中,前往 Dataform 页面。
点击
quickstart-production。点击版本和时间安排,然后点击创建正式版本。
在创建发布配置窗格中,配置以下设置:
- 在版本 ID 字段中,输入
production。 - 在 Git 提交 字段中,保留默认值
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)。
Dataform 会在每天 UTC+1 下午 5 点运行
quickstart-production代码库的最新production编译结果。点击所有操作。
Dataform 会运行
production编译结果中的所有工作流操作。
- 在配置 ID 字段中,输入
点击创建。
production工作流配置会在每天 UTC+1 下午 5 点运行通过正式版配置创建的整个最新编译结果。在 Google Cloud 控制台中,前往 Dataform 页面。
选择
quickstart-production代码库。点击版本和时间安排。
在发布配置部分中,点击
production。在 Google Cloud 控制台中,前往 Dataform 页面。
选择
quickstart-production代码库。点击工作流执行日志。
选择一个工作流运行,即可查看更详细的信息,包括每个操作的状态和所有日志。
在 Google Cloud 控制台中,前往 BigQuery 页面。
在探索器面板中,展开您的项目并选择
dataform_production。点击 操作菜单,然后选择删除。
在删除数据集对话框中,输入 delete,然后点击删除。
在 Google Cloud 控制台中,前往 Dataform 页面。
点击
quickstart-production。点击版本和时间安排,然后前往版本配置部分。
在
production版本配置旁边,点击 更多菜单,然后点击删除。在删除版本配置对话框中,点击删除。
在 Google Cloud 控制台中,前往 Dataform 页面。
点击
quickstart-production。点击版本和时间安排,然后前往工作流配置部分。
在
production工作流配置旁边,点击 更多菜单,然后点击删除。在删除版本配置对话框中,点击删除。
在 Google Cloud 控制台中,前往 Dataform 页面。
在
quickstart-production旁边,点击 更多菜单,然后选择删除。在删除代码库窗口中,输入代码库的名称以确认删除。
请点击删除来确认操作。
- 如需详细了解服务账号,请参阅自定义服务账号和 Dataform 服务代理简介。
- 如需详细了解 Dataform 中的代码生命周期,请参阅 Dataform 中的代码生命周期简介。
- 如需详细了解 Dataform 中工作流生命周期的最佳实践,请参阅工作流生命周期的最佳实践。
- 如需详细了解 Dataform 中的发布配置,请参阅创建发布配置。
- 如需详细了解 Dataform 中的工作流配置,请参阅使用工作流配置安排运行。
此外,您还可以选择或创建自定义服务账号,以便在 BigQuery 中运行工作流。
所需的角色
如需获得执行本教程中的所有任务所需的权限,请让您的管理员为您授予以下 IAM 角色:
如需详细了解如何授予角色,请参阅管理对项目、文件夹和组织的访问权限。
授予必需的角色
如需在 BigQuery 中运行工作流,您可以使用自定义服务账号或您的 Google 账号(预览版)。不过,自定义服务账号凭据是预定运行的默认选项。不建议在预定运行中使用 Google 账号用户账号凭据。
如需在 BigQuery 中运行工作流,您的自定义服务账号必须具有以下必需的角色:
如需让 Dataform 使用您的自定义服务账号,默认 Dataform 服务代理必须对自定义服务账号资源拥有以下角色:
如需授予这些角色,请按照以下步骤操作:
创建 Dataform 仓库
创建发布配置和工作流配置
如需创建 quickstart-production 代码库的生产编译结果并安排 production 表的运行,请按照以下步骤操作:
查看过往的 production 编译结果
如需查看过去的预定 production 编译结果,请按以下步骤操作:
查看过往的 production 工作流程运行情况
如需查看过往的 production 工作流运行,请按以下步骤操作:
清理
为避免因本页中使用的资源导致您的 Google Cloud 账号产生费用,请按照以下步骤操作。
删除在 BigQuery 中创建的数据集
为避免 BigQuery 资产产生费用,请按照以下步骤删除名为 dataform_production 的数据集:
删除 Dataform 版本配置
创建 Dataform 版本配置不会产生任何相关费用。不过,如果您想删除 production 版本配置,请按照以下步骤操作:
删除 Dataform 工作流配置
为避免 BigQuery 资产产生费用,请按照以下步骤删除 Dataform production 工作流配置:
删除 Dataform 代码库
创建 Dataform 代码库不会产生任何相关费用。 不过,如果您想删除代码库及其所有内容,请按以下步骤操作: