本文档可帮助您了解 Dataform 中的代码库概念以及如何创建新代码库。
Dataform 代码库简介
每个 Dataform 代码库都包含构成工作流的一系列 SQLX 和 JavaScript 文件,以及 Dataform 配置文件和软件包。您可以在开发工作区中与代码库中的内容互动。
Dataform 会按代码库 ID 的字母顺序在 Dataform 页面上显示您的代码库。您可以对其进行排序和过滤。
如需查看您的代码库,请在 Google Cloud 控制台中前往 Dataform 页面。
每个 Dataform 仓库都与一个服务账号相关联。您可以在创建代码库时选择服务账号,也可以稍后修改服务账号。
默认情况下,Dataform 使用根据您的项目编号生成的服务账号,格式如下:
service-PROJECT_NUMBER@gcp-sa-dataform.iam.gserviceaccount.com
Dataform 使用 Git 记录更改并管理文件版本。每个 Dataform 代码库都对应于一个 Git 代码库。创建 Dataform 代码库后,您可以将其关联到远程 GitHub、GitLab 或 Bitbucket 代码库。
在 Dataform 代码库中,Dataform 会存储代码库代码。在关联的代码库中,第三方代码库会存储代码库代码。Dataform 会与第三方代码库交互,以便您在 Dataform 开发工作区中修改和执行其内容。
Dataform 代码库页面由以下组件组成:
- “开发工作区”标签页
- 显示在代码库中创建的开发工作区。
- “Release configurations”(版本配置)标签页
- 可让您检查、创建、修改和删除版本。
- “工作流执行日志”标签页
- 显示 Dataform 工作流执行日志。
- “工作流配置”标签页
- 可让您检查、创建、修改和删除工作流配置。
- “设置”标签页
- 显示代码库的名称和位置。对于连接到第三方 Git 代码库的代码库,会显示第三方代码库来源、默认分支名称和 Secret 令牌。显示用于将代码库关联到第三方 Git 代码库以及修改 Git 关联的按钮。
- “创建开发工作区”按钮
- 可让您创建开发工作区。
创建并初始化开发工作区后,您可以修改工作流设置文件,以配置代码库的以下 Dataform 设置:
- 默认数据库(Google Cloud 项目 ID)。
- 默认架构(BigQuery 数据集 ID)。
- 默认的 BigQuery 位置。
- 断言的默认架构(BigQuery 数据集 ID)。
- 仓库,必须设置为
bigquery
。 - 在编译期间可供项目代码使用的用户定义变量。
如需详细了解 Dataform 代码库设置,请参阅 Dataform 核心参考中的 IProjectConfig。
代码库设置
创建 Dataform 仓库时,您需要设置以下仓库设置:
- 仓库 ID
- 代码库的唯一 ID。ID 只能包含数字、字母、连字符和下划线。
- 区域
用于存储代码库及其内容的数据表单区域。
此存储区域可以不同于 Dataform 处理代码和存储执行输出的处理区域。默认情况下,处理区域会设置为您的默认 BigQuery 数据集区域。创建代码库后,您可以在工作流设置文件中修改处理区域。如需了解详情,请参阅配置 Dataform 设置。
- 服务账号
与代码库关联的服务账号。您可以选择默认的 Dataform 服务账号、与您的 Google Cloud 项目关联的服务账号,也可以手动输入其他服务账号。默认情况下,Dataform 使用根据您的项目编号生成的服务账号,格式如下:
service-PROJECT_NUMBER@gcp-sa-dataform.iam.gserviceaccount.com
Dataform 会针对所有代码库操作使用默认服务账号。您可以使用其他服务账号在代码库中执行工作流,但默认服务账号仍会用于所有其他代码库操作。
- 加密
代码库的加密方法。您可以使用默认加密、唯一的客户管理的 Cloud KMS 加密密钥或默认的 Dataform CMEK 密钥。如需详细了解如何在 Dataform 中使用客户管理的加密密钥 (CMEK),请参阅使用客户管理的加密密钥。
创建代码库后,您可以将其关联到 GitHub 或 GitLab。
准备工作
- 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.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the BigQuery and Dataform APIs.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the BigQuery and Dataform APIs.
- 如需对代码库使用 CMEK 加密,请为 Dataform 代码库启用 CMEK 加密。
所需的角色
如需获得创建和删除代码库所需的权限,请让您的管理员向您授予代码库的 Dataform Admin (roles/dataform.admin
) IAM 角色。
如需详细了解如何授予角色,请参阅管理对项目、文件夹和组织的访问权限。
如需使用默认 Dataform 服务账号以外的服务账号,请向自定义服务账号授予访问权限。
创建 Dataform 代码库后,Dataform 会自动为您授予该代码库的 Dataform 管理员角色。
创建代码库
如需创建 Dataform 代码库,请按以下步骤操作:
在 Google Cloud 控制台中,进入 Dataform 页面。
点击创建代码库。
在创建代码库页面的代码库 ID 字段中,输入一个唯一 ID。
ID 只能包含数字、字母、连字符和下划线。
在区域下拉列表中,选择用于存储代码库及其内容的 Dataform 区域。选择离您最近的 Dataform 区域。
如需查看可用 Dataform 区域的列表,请参阅位置。代码库区域不必与 BigQuery 数据集所在的位置相同。
在
workflow_settings.yaml
文件中,您可以设置处理区域,以便 Dataform 在该区域处理您的代码并存储执行输出。处理区域必须与 BigQuery 数据集的位置一致,但不必与代码库区域一致。如需了解详情,请参阅 配置 Dataform 设置。在服务账号下拉菜单中,为代码库选择一个服务账号。
在下拉菜单中,您可以选择默认的 Dataform 服务账号,也可以选择与您的 Google Cloud 项目关联且您有权访问的任何服务账号。请注意,自定义服务账号仅用于工作流执行。所有其他仓库操作仍由默认的 Dataform 服务账号执行。
- 可选:如需选择下拉菜单中未显示的服务账号,请点击手动输入,然后输入服务账号 ID。
为代码库配置您选择的加密机制:
默认 CMEK 密钥
Dataform 会显示使用默认 KMS 密钥复选框,并默认将其选中。
- 如需使用默认的 Dataform CMEK 密钥加密代码库,请选中使用默认的 KMS 密钥复选框。
唯一的 CMEK 密钥
如需使用唯一的 CMEK 密钥加密代码库,请执行以下操作:
- 如果系统默认选中了使用默认 KMS 密钥复选框,请取消选中该复选框。
- 在加密部分中,选择客户管理的加密密钥 (CMEK) 选项。
- 在选择客户管理的密钥下拉菜单中,选择一个唯一的 CMEK 密钥。
静态加密
- 如需使用默认加密,请在加密部分中,选择 Google-managed encryption key 选项。
点击创建,然后点击完成。
修改服务账号
您可以将自定义服务账号与 Dataform 代码库相关联,以便执行工作流。所有其他代码库操作仍由默认的 Dataform 服务账号执行。
如需修改 Dataform 代码库的服务账号,请按以下步骤操作:
在 Google Cloud 控制台中,进入 Dataform 页面。
选择一个代码库,然后点击设置。
点击服务账号字段旁边的
修改服务账号。在服务账号下拉菜单中,为代码库选择一个服务账号。
在下拉菜单中,您可以选择默认的 Dataform 服务账号,也可以选择与您的 Google Cloud 项目关联且您有权访问的任何服务账号。
- 可选:如需选择下拉菜单中未显示的服务账号,请点击手动输入,然后输入服务账号 ID。
点击保存。
删除代码库
如需删除代码库及其所有内容,请按以下步骤操作:
在 Google Cloud 控制台中,进入 Dataform 页面。
在要删除的代码库旁边,点击
更多菜单,然后选择删除。在删除代码库窗口中,输入代码库的名称以确认删除。
点击删除。
后续步骤
- 如需了解如何将 Dataform 代码库连接到第三方 Git 代码库,请参阅连接到第三方 Git 代码库。
- 如需详细了解代码库大小对 Dataform 中开发的影响,请参阅代码库大小概览。
- 如需详细了解如何在 Dataform 中拆分代码库,请参阅代码库拆分简介。
- 如需了解如何配置 Dataform 处理设置,请参阅配置 Dataform 设置。
- 如需了解如何创建和初始化工作区,请参阅创建工作区。