创建代码库

本文档可帮助您了解 Dataform 中的代码库概念以及如何创建新代码库。

Dataform 代码库简介

每个 Dataform 代码库都包含构成工作流的一系列 SQLX 和 JavaScript 文件,以及 Dataform 配置文件和软件包。您可以在开发工作区中与代码库中的内容互动。

Dataform 会按代码库 ID 的字母顺序在 Dataform 页面上显示您的代码库。您可以对其进行排序和过滤。

  • 如需查看您的代码库,请在 Google Cloud 控制台中前往 Dataform 页面。

    前往 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

准备工作

  1. 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.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  3. Make sure that billing is enabled for your Google Cloud project.

  4. Enable the BigQuery and Dataform APIs.

    Enable the APIs

  5. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  6. Make sure that billing is enabled for your Google Cloud project.

  7. Enable the BigQuery and Dataform APIs.

    Enable the APIs

  8. 如需对代码库使用 CMEK 加密,请为 Dataform 代码库启用 CMEK 加密

所需的角色

如需获得创建和删除代码库所需的权限,请让您的管理员向您授予代码库的 Dataform Admin (roles/dataform.admin) IAM 角色。 如需详细了解如何授予角色,请参阅管理对项目、文件夹和组织的访问权限

您也可以通过自定义角色或其他预定义角色来获取所需的权限。

如需使用默认 Dataform 服务账号以外的服务账号,请向自定义服务账号授予访问权限

创建 Dataform 代码库后,Dataform 会自动为您授予该代码库的 Dataform 管理员角色。

创建代码库

如需创建 Dataform 代码库,请按以下步骤操作:

  1. 在 Google Cloud 控制台中,进入 Dataform 页面。

    前往 Dataform

  2. 点击创建代码库

  3. 创建代码库页面的代码库 ID 字段中,输入一个唯一 ID。

    ID 只能包含数字、字母、连字符和下划线。

  4. 区域下拉列表中,选择用于存储代码库及其内容的 Dataform 区域。选择离您最近的 Dataform 区域。

    如需查看可用 Dataform 区域的列表,请参阅位置。代码库区域不必与 BigQuery 数据集所在的位置相同。

    workflow_settings.yaml 文件中,您可以设置处理区域,以便 Dataform 在该区域处理您的代码并存储执行输出。处理区域必须与 BigQuery 数据集的位置一致,但不必与代码库区域一致。如需了解详情,请参阅 配置 Dataform 设置

  5. 服务账号下拉菜单中,为代码库选择一个服务账号。

    在下拉菜单中,您可以选择默认的 Dataform 服务账号,也可以选择与您的 Google Cloud 项目关联且您有权访问的任何服务账号。请注意,自定义服务账号仅用于工作流执行。所有其他仓库操作仍由默认的 Dataform 服务账号执行。

    1. 可选:如需选择下拉菜单中未显示的服务账号,请点击手动输入,然后输入服务账号 ID。
  6. 为代码库配置您选择的加密机制:

    默认 CMEK 密钥

    Dataform 会显示使用默认 KMS 密钥复选框,并默认将其选中。

    • 如需使用默认的 Dataform CMEK 密钥加密代码库,请选中使用默认的 KMS 密钥复选框。

    唯一的 CMEK 密钥

    如需使用唯一的 CMEK 密钥加密代码库,请执行以下操作:

    1. 如果系统默认选中了使用默认 KMS 密钥复选框,请取消选中该复选框。
    2. 加密部分中,选择客户管理的加密密钥 (CMEK) 选项。
    3. 选择客户管理的密钥下拉菜单中,选择一个唯一的 CMEK 密钥。

    静态加密

    • 如需使用默认加密,请在加密部分中,选择 Google-managed encryption key 选项。
  7. 点击创建,然后点击完成

修改服务账号

您可以将自定义服务账号与 Dataform 代码库相关联,以便执行工作流。所有其他代码库操作仍由默认的 Dataform 服务账号执行。

如需修改 Dataform 代码库的服务账号,请按以下步骤操作:

  1. 在 Google Cloud 控制台中,进入 Dataform 页面。

    前往 Dataform

  2. 选择一个代码库,然后点击设置

  3. 点击服务账号字段旁边的 修改服务账号

  4. 服务账号下拉菜单中,为代码库选择一个服务账号。

    在下拉菜单中,您可以选择默认的 Dataform 服务账号,也可以选择与您的 Google Cloud 项目关联且您有权访问的任何服务账号。

    1. 可选:如需选择下拉菜单中未显示的服务账号,请点击手动输入,然后输入服务账号 ID。
  5. 点击保存

删除代码库

如需删除代码库及其所有内容,请按以下步骤操作:

  1. 在 Google Cloud 控制台中,进入 Dataform 页面。

    前往 Dataform

  2. 在要删除的代码库旁边,点击 更多菜单,然后选择删除

  3. 删除代码库窗口中,输入代码库的名称以确认删除。

  4. 点击删除

后续步骤