编排工作流
如需针对此功能请求支持或提供反馈,请发送电子邮件至 bigquery-workflows-preview-feedback@google.com。
本文档介绍了如何编排工作流,包括如何安排工作流运行和检查安排的工作流运行情况。
Workflows 由 Dataform 提供支持。
每个工作流时间表都由自定义 Dataform 服务账号运行,您可以在创建时间表期间选择该账号。如需详细了解 Dataform 中的服务账号类型,请参阅 Dataform 中的服务账号简介。
您对工作流所做的更改会自动保存,但只有您和获准在项目中使用“数据表单管理员”角色的用户才能看到这些更改。如需使用工作流的新版本更新时间表,您需要部署工作流。部署操作会更新时间表,以使用您当前版本的工作流。时间表始终会运行最新的部署版本。
包含笔记本的工作流的时间表使用默认运行时规范。在包含笔记本的工作流程的定期运行期间,BigQuery 会将笔记本输出写入在创建时间表期间选择的 Cloud Storage 存储桶。
准备工作
开始之前,请先创建工作流。
启用工作流安排
如需安排工作流,您必须向计划用于工作流时间表的服务账号授予以下角色:
- Service Account User (
roles/iam.serviceAccountUser
) - 请按照针对服务账号授予单个角色中的说明,将服务账号添加为其主账号。换句话说,将服务账号作为主账号添加到同一服务账号。然后,向此主账号授予 Service Account User 角色。
如果您的工作流包含 SQL 查询,您必须向计划用于工作流时间表的服务账号授予以下角色:
- BigQuery Job User (
roles/bigquery.jobUser
) - 请按照针对项目授予单个角色中的说明,针对您的工作流读取数据的项目向服务账号授予 BigQuery Job User 角色。
- BigQuery Data Viewer (
roles/bigquery.dataViewer
) - 请按照针对项目授予单个角色中的说明,针对您的工作流读取数据的项目向服务账号授予 BigQuery Data Viewer 角色。
- BigQuery Data Editor (
roles/bigquery.dataEditor
) - 请按照针对项目授予单个角色中的说明,针对您的工作流写入数据的项目向服务账号授予 BigQuery Data Editor 角色。
如果您的工作流包含笔记本,您必须向计划用于工作流时间表的服务账号授予以下角色:
- Notebook Executor User (
roles/aiplatform.notebookExecutorUser
) - 请按照针对项目授予单个角色中的说明,针对所选项目向您的服务账号授予 Notebook Executor User 角色。
- Storage Admin (
roles/storage.admin
) - 请按照将主账号添加到存储桶级层政策中中的说明,将您的服务账号作为主账号添加到您计划用于存储在安排的工作流运行中执行的笔记本的输出的 Cloud Storage 存储桶,并向此主账号授予 Storage Admin 角色。
此外,您还必须向默认 Dataform 服务账号授予以下角色:
- Service Account Token Creator(
roles/iam.serviceAccountTokenCreator
) - 请按照向服务账号授予令牌创建访问权限中的说明,将默认 Dataform 服务账号作为主账号添加到您的服务账号,并向此主账号授予 Service Account Token Creator 角色。
如需详细了解 Dataform 中的服务账号,请参阅 Dataform 中的服务账号简介。
所需的角色
如需获得管理工作流所需的权限,请让管理员为您授予以下 IAM 角色:
-
删除工作流:Dataform Admin (
roles/dataform.Admin
)(针对工作流) -
若要创建、修改、运行和删除工作流时间表,请使用工作流的 Dataform Admin (
roles/dataform.Admin
) -
查看和运行工作流:项目的 Dataform Viewer (
roles/dataform.Viewer
) -
如需查看工作流时间表:针对项目的 Dataform Editor (
roles/dataform.Editor
)
如需详细了解如何授予角色,请参阅管理对项目、文件夹和组织的访问权限。
如需详细了解 Dataform IAM,请参阅使用 IAM 进行访问权限控制。
创建工作流时间表
如需安排工作流,请按以下步骤操作:
在 Google Cloud 控制台中,转到 BigQuery 页面。
在探索器窗格中,展开您的项目和工作流文件夹,然后选择一个工作流。
点击安排。
在安排工作流程窗格中的时间表名称字段中,输入时间表的名称。
在服务账号字段中,选择一个服务账号。
如果您的工作流包含笔记本,请在 Cloud Storage 存储桶字段中点击浏览,然后选择或创建一个 Cloud Storage 存储桶,用于在工作流中存储笔记本的输出。
您选择的服务账号必须在所选存储桶中获得 Storage Admin IAM 角色。 如需了解详情,请参阅启用工作流安排。
在时间表频率部分中,执行以下操作:
- 在重复频率下拉菜单中,选择安排的工作流程运行的频率。
- 在时间字段中,为安排的工作流运行输入时间。
- 在时区下拉菜单中,选择时间表的时区。
点击创建时间表。
创建时间表后,系统会自动部署工作流的当前版本。如需使用工作流的新版本更新时间表,请部署工作流。
工作流的最新部署版本会按所选的时间和频率运行。
部署工作流
部署工作流操作会使用工作流的当前版本更新其时间表。时间表会运行工作流的最新部署版本。
如需部署工作流,请按以下步骤操作:
在 Google Cloud 控制台中,转到 BigQuery 页面。
在探索器窗格中,展开您的项目和工作流文件夹,然后选择一个工作流。
点击部署。
相应的时间表会使用工作流的当前版本进行更新。工作流的最新部署版本会在安排的时间运行。
停用时间表
如需对所选工作流暂停安排的运行,而不删除时间表,您可以停用时间表。
如需为所选工作流停用时间表,请按以下步骤操作:
在 Google Cloud 控制台中,转到 BigQuery 页面。
在探索器窗格中,展开您的项目和工作流文件夹,然后选择一个工作流。
点击查看时间表。
在时间表详情表格中的时间表状态行中,点击已启用时间表切换开关。
启用时间表
如需对停用的工作流时间表恢复安排的运行,请按以下步骤操作:
在 Google Cloud 控制台中,转到 BigQuery 页面。
在探索器窗格中,展开您的项目和工作流文件夹,然后选择一个工作流。
点击查看时间表。
在时间表详情表格中的时间表状态行中,点击已停用时间表切换开关。
手动运行已部署的工作流
当您手动运行按所选时间表部署的工作流时,BigQuery 会独立于时间表执行已部署的工作流一次。
如需手动运行已部署的工作流,请按以下步骤操作:
在 Google Cloud 控制台中,前往编排页面。
点击所选工作流时间表的名称。
在时间表详情页面上,点击运行。
查看所有工作流时间安排
如需查看 Google Cloud 项目中的所有工作流时间表,请按以下步骤操作:
在 Google Cloud 控制台中,前往编排页面。
可选:如需显示包含工作流时间表详细信息的其他列,请点击
Column display options(列显示选项),然后选择列并点击 OK(确定)。
查看工作流时间表详情
如需查看所选工作流时间表的详细信息,请按以下步骤操作:
Explorer 窗格
在 Google Cloud 控制台中,转到 BigQuery 页面。
在探索器窗格中,展开您的项目和工作流文件夹,然后选择一个工作流。
点击查看时间表。
编排页面
在 Google Cloud 控制台中,前往编排页面。
点击所选工作流时间表的名称。
查看过往的安排的运行作业
如需查看所选工作流时间表的过往运行情况,请按以下步骤操作:
Explorer 窗格
在 Google Cloud 控制台中,转到 BigQuery 页面。
在探索器窗格中,展开您的项目和工作流文件夹,然后选择一个工作流。
点击执行。
可选:如需刷新过往运行情况的列表,请点击刷新。
编排页面
- 在 Google Cloud 控制台中,前往编排页面。
点击所选工作流的名称。
在时间表详情页面的过往执行部分中,检查过往的运行作业。
可选:如需刷新过往运行情况的列表,请点击刷新。
修改工作流时间表
如需修改工作流时间表,请按以下步骤操作:
在 Google Cloud 控制台中,转到 BigQuery 页面。
在探索器窗格中,展开您的项目和工作流文件夹,然后选择一个工作流。
点击查看时间表,然后点击修改。
在安排工作流程对话框中,修改时间表,然后点击更新时间表。
删除工作流时间表
如需永久删除工作流时间表,请按以下步骤操作:
在 Google Cloud 控制台中,前往编排页面。
执行以下其中一项操作:
点击所选工作流时间表的名称,然后在时间表详情页面上点击删除。
在包含所选工作流时间表的行中,点击操作列中的
查看操作,然后点击删除。
在随即显示的对话框中,点击删除。
后续步骤
- 详细了解 BigQuery 中的工作流。
- 了解如何创建工作流。