使用工作流配置安排执行

本文档介绍如何在 Dataform 中创建工作流配置,以安排和配置 SQL 工作流执行。您可以使用工作流配置按计划执行 Dataform SQL 工作流。

工作流配置简介

如需在 BigQuery 中安排所有或选定的 SQL 工作流操作的 Dataform 执行,您可以创建工作流配置。在工作流配置中,您可以选择编译版本配置,选择要执行的 SQL 工作流操作,并设置执行时间表。

然后,在按计划执行工作流配置期间,Dataform 会将您从最新编译结果中选择的操作部署到 BigQuery 中。您还可以使用 Dataform APIWorkflowConfigs 手动触发工作流配置的执行。

Dataform 工作流配置包含以下执行设置:

  • 工作流配置的 ID
  • 版本配置
  • 服务账号

    与工作流配置关联的服务账号。您可以选择默认的 Dataform 服务帐号、与您的 Google Cloud 项目关联的服务帐号,也可以手动输入其他服务帐号。默认情况下,工作流配置使用与其代码库相同的服务帐号。

  • 要执行的 SQL 工作流操作:

    • 所有操作
    • 选择操作
    • 选择代码
  • 执行时间表和时区

准备工作

  1. 在 Google Cloud 控制台中,前往 Dataform 页面。

    转到 Dataform 页面

  2. 选择或创建代码库

  3. 创建版本配置

所需的角色

如需获取创建工作流配置所需的权限,请让管理员授予您代码库的 Dataform Editor (roles/dataform.editor) IAM 角色。 如需详细了解如何授予角色,请参阅管理访问权限

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

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

创建工作流配置

如需创建 Dataform 工作流配置,请按以下步骤操作:

  1. 在您的代码库中,前往发布和时间安排
  2. 工作流配置部分,点击创建
  3. 创建工作流配置窗格的配置 ID 字段中,输入工作流配置的唯一 ID。

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

  4. 版本配置下拉列表中,选择编译版本配置

  5. 可选:在频率字段中,以 unix-cron 格式输入执行频率。

    为确保 Dataform 执行相应版本配置中的最新编译结果,请在编译结果创建时间与安排执行时间之间至少间隔 1 小时。

  6. 服务帐号下拉列表中,为工作流配置选择一个服务帐号。

    在下拉菜单中,您可以选择默认的 Dataform 服务帐号,也可以选择与您有权访问的 Google Cloud 项目关联的任何服务帐号。如果您未选择服务帐号,则工作流配置将使用代码库的服务帐号。

  7. 可选:在时区下拉菜单中,选择执行作业的时区。

    默认时区为世界协调时间 (UTC)。

  8. 选择要执行的 SQL 工作流操作:

    1. 如需执行整个 SQL 工作流,请点击所有操作
    2. 如需在 SQL 工作流中执行所选操作,请点击选择操作,然后选择操作。
    3. 如需使用所选代码执行操作,请点击选择标记,然后选择标记。
    4. 可选:如需执行所选操作或标记及其依赖项,请选择包含依赖项选项。
    5. 可选:如需执行所选操作或标记及其从属项,请选择 Include 依赖项选项。
    6. 可选:如需从头开始重新构建所有表,请选择在完全刷新的情况下运行选项。

    如果没有此选项,Dataform 会更新增量表,而无需从头开始重新构建。

  9. 点击创建



例如,以下工作流配置每小时使用 hourly 标记执行操作(采用 CEST 时区):

  • Configuration ID(配置 ID):production-hourly
  • 版本配置:-
  • 频率0 * * * *
  • 时区Central European Summer Time (CEST)
  • 选择 SQL 工作流操作:选择代码、hourly 标记

修改工作流配置

如需修改工作流配置,请按以下步骤操作:

  1. 在您的代码库中,前往发布和时间安排
  2. 在要修改的工作流配置旁边,点击 更多菜单,然后点击修改
  3. 修改工作流配置窗格中,修改版本配置设置,然后点击保存

删除工作流配置

如需删除工作流配置,请按以下步骤操作:

  1. 在您的代码库中,前往发布和时间安排
  2. 在要删除的工作流配置旁边,点击 更多菜单,然后点击删除
  3. 删除发布配置对话框中,点击删除

后续步骤