排定正式環境執行作業
本快速入門導覽課程會逐步說明如何在 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 管理員 (
roles/dataform.admin) 存放區 -
Dataform 編輯器 (
roles/dataform.editor) 工作區和工作流程叫用 -
服務帳戶使用者 (
roles/iam.serviceAccountUser) 自訂服務帳戶 -
專案 IAM 管理員 (
roles/resourcemanager.projectIamAdmin) 專案 - BigQuery 資料編輯者
(
roles/bigquery.dataEditor) 在 Dataform 需要讀取和寫入存取權的專案中,通常包括代管 Dataform 存放區的專案。 - Dataform 需要對專案擁有唯讀存取權,因此請在這些專案中授予「BigQuery 資料檢視者」(
roles/bigquery.dataViewer) 角色。 - BigQuery Job User
(
roles/bigquery.jobUser) 在代管 Dataform 存放區的專案中。 前往 Google Cloud 控制台的「IAM」(身分與存取權管理) 頁面。
按一下「授予存取權」。
在「新增主體」欄位中,輸入自訂服務帳戶 ID。
在「Select a role」(選取角色) 選單中,使用「Add another role」(新增其他角色) 逐一選取下列角色:
- BigQuery 資料編輯者
- BigQuery 資料檢視者
- BigQuery 工作使用者
按一下 [儲存]。
前往 Google Cloud 控制台的「Service accounts」(服務帳戶) 頁面。
選取自訂服務帳戶。
前往「具備存取權的主體」,然後點選「授予存取權」。
在「新增主體」欄位中,輸入預設的 Dataform 服務代理程式 ID。
預設 Dataform 服務代理程式 ID 的格式如下:
service-PROJECT_NUMBER@gcp-sa-dataform.iam.gserviceaccount.com在「Select a role」清單中,新增下列角色:
- 服務帳戶使用者
- 服務帳戶憑證建立者
按一下 [儲存]。
前往 Google Cloud 控制台的「Dataform」頁面。
按一下 「建立存放區」。
在「建立存放區」頁面中執行下列操作:
在「Repository ID」(存放區 ID) 欄位中輸入
quickstart-production。在「Region」(區域) 清單中選取「
europe-west4」。在「服務帳戶」欄位中,按一下「手動輸入」,然後輸入自訂服務帳戶的名稱。請務必在這個欄位中輸入自訂服務帳戶。
點選「建立」。
點選「前往存放區」。
前往 Google Cloud 控制台的「Dataform」頁面。
按一下「
quickstart-production」。依序點選「發布與排程」和「建立正式版本」。
在「Create release configuration」(建立發布設定) 窗格中,進行下列設定:
- 在「Release ID」(發布版本 ID) 欄位中輸入
production。 - 保留「Git commitish」(Git 修訂版本) 欄位的預設值
main。 - 在「排程頻率」部分,選取「重複」選單中的「自訂」。
- 在「Custom schedule」(自訂排程) 欄位中輸入
0 16 * * *。 在「Timezone」(時區) 選單中,選取 UTC+1 時區,例如「Central European Standard Time (CET)」(中歐標準時間 (CET))。
每天下午 4 點 (UTC+1),Dataform 會編譯
quickstart-production存放區,並套用此版本設定中設定的編譯設定,建立production編譯結果。
- 在「Release ID」(發布版本 ID) 欄位中輸入
點選「建立」。
production版本設定會在每天下午 4:00 (UTC+1) 建立整個quickstart-production存放區的編譯結果。確認你位於「發行與排程」分頁。前往「Workflow configurations」(工作流程設定) 部分,然後按一下「Create」(建立)。
在「Create workflow configuration」(建立工作流程設定) 窗格中,完成下列設定:
- 在「Configuration ID」(設定 ID) 欄位中輸入
production。 - 在「Release configuration」(版本設定) 選單中,選取
production。 - 在「排程頻率」部分,選取「重複」選單中的「自訂」。
- 在「Custom schedule」(自訂排程) 欄位中輸入
0 17 * * *。 在「Timezone」(時區) 選單中,選取 UTC+1 時區,例如「Central European Standard Time (CET)」(中歐標準時間 (CET))。
每天下午 5 點 (UTC+1),Dataform 會執行
quickstart-production存放區的最新production編譯結果。按一下「All actions」(所有動作)。
Dataform 會在
production編譯結果中執行所有工作流程動作。
- 在「Configuration ID」(設定 ID) 欄位中輸入
點選「建立」。
production工作流程設定會在每天下午 5:00 (UTC+1),執行正式版本設定建立的所有最新編譯結果。前往 Google Cloud 控制台的「Dataform」頁面。
選取
quickstart-production存放區。按一下「發布與排程」。
在「Release configurations」(版本設定) 部分中,按一下
production。前往 Google Cloud 控制台的「Dataform」頁面。
選取
quickstart-production存放區。按一下「Workflow Execution Logs」(工作流程執行記錄)。
選取工作流程執行作業,即可查看更詳細的資訊,包括每個動作的狀態和任何記錄。
前往 Google Cloud 控制台的「BigQuery」頁面。
在「Explorer」面板中展開專案,然後選取
dataform_production。按一下 「Actions」(動作) 選單,然後選取「Delete」(刪除)。
在「Delete dataset」(刪除資料集) 對話方塊中輸入「delete」,然後按一下「Delete」(刪除)。
前往 Google Cloud 控制台的「Dataform」頁面。
按一下「
quickstart-production」。按一下「發布與排程」,然後前往「版本設定」部分。
在
production發布設定中,按一下 「More」(更多) 選單,然後點選「Delete」(刪除)。在「刪除發布版本設定」對話方塊中,按一下「刪除」。
前往 Google Cloud 控制台的「Dataform」頁面。
按一下「
quickstart-production」。按一下「發布與排程」,然後前往「工作流程設定」部分。
在
production工作流程設定中,按一下 「More」(更多) 選單,然後按一下「Delete」(刪除)。在「刪除發布版本設定」對話方塊中,按一下「刪除」。
前往 Google Cloud 控制台的「Dataform」頁面。
在
quickstart-production旁邊,按一下 「More」(更多) 選單,然後選取「Delete」(刪除)。在「Delete repository」(刪除存放區) 視窗中,輸入存放區名稱來確認刪除。
按一下「Delete」(刪除) 確認操作。
- 如要進一步瞭解服務帳戶,請參閱「關於自訂服務帳戶和 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 存放區不會產生任何費用。不過,如果您想刪除存放區和當中所有內容,可以按照下列步驟操作: