排定正式環境執行作業
本快速入門導覽課程會逐步引導您完成下列步驟,在 Dataform 中排定正式環境執行作業:
- 建立 Dataform 存放區。
- 授予必要角色。
-
建立
production發布版本設定,並設定建立production編譯結果的頻率。接著,建立production工作流程設定、選取production發布設定,並設定執行production編譯結果的時間表。
事前準備
- 登入 Google Cloud 帳戶。如果您是 Google Cloud新手,歡迎 建立帳戶,親自評估產品在實際工作環境中的成效。新客戶還能獲得價值 $300 美元的免費抵免額,可用於執行、測試及部署工作負載。
-
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.
此外,請選取或建立自訂服務帳戶,在 BigQuery 中執行工作流程。
必要的角色
如要取得執行本快速入門導覽課程中所有工作所需的權限,請要求管理員授予您下列 IAM 角色:
-
存放區的「Dataform 管理員」 (
roles/dataform.admin) -
服務帳戶使用者 (
roles/iam.serviceAccountUser) 自訂服務帳戶 -
專案的專案 IAM 管理員 (
roles/resourcemanager.projectIamAdmin)
如要進一步瞭解如何授予角色,請參閱「管理專案、資料夾和組織的存取權」。
授予必要角色
如要在 BigQuery 中執行工作流程,可以使用自訂服務帳戶或 Google 帳戶 (搶先版)。不過,排定執行的作業預設會使用自訂服務帳戶憑證。建議不要在排定執行的作業中使用 Google 帳戶使用者帳戶憑證。
自訂服務帳戶必須具備下列必要角色:
- BigQuery 資料編輯者
(
roles/bigquery.dataEditor) 專案或特定 BigQuery 資料集,Dataform 需要讀取和寫入權限。這通常包括代管 Dataform 存放區的專案。 - BigQuery 資料檢視者
(
roles/bigquery.dataViewer) 專案或特定 BigQuery 資料集,Dataform 需要這些專案或資料集的唯讀存取權。 - 專案的 BigQuery Job User
(
roles/bigquery.jobUser) ,其中包含 Dataform 存放區。
如要讓 Dataform 使用自訂服務帳戶,預設的 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將
PROJECT_NUMBER替換為專案的數字 ID。Google Cloud 您可以在 Google Cloud 控制台資訊主頁中找到專案 ID。Google Cloud 詳情請參閱「識別專案」。在「Select a role」(選取角色) 清單中,新增下列角色:
- 服務帳戶使用者
- 服務帳戶權杖建立者
按一下 [儲存]。
如要進一步瞭解如何授予角色,請參閱「授予 Dataform 必要存取權」。
建立 Dataform 存放區
前往 Google Cloud 控制台的「Dataform」頁面。
按一下 「建立存放區」。
在「建立存放區」頁面中執行下列操作:
在「Repository ID」(存放區 ID) 欄位中輸入
quickstart-production。在「Region」(區域) 清單中選取「
europe-west4」。在「Service account」(服務帳戶) 清單中,選取存放區的自訂服務帳戶。
在「actAs 權限檢查」部分,強制對存放區中的使用者動作執行權限檢查。
點選「建立」。
點選「前往存放區」。
建立發布版本設定和工作流程設定
如要建立 quickstart-production 存放區的正式環境編譯結果,並安排執行 production 資料表,請按照下列步驟操作:
前往 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))。
Dataform 會在每天下午 5:00 (UTC+1) 執行
quickstart-production存放區的最新production編譯結果。按一下「All actions」(所有動作)。
Dataform 會執行
production編譯結果中的所有工作流程動作。
- 在「Configuration ID」(設定 ID) 欄位中輸入
點選「建立」。
production工作流程設定會在每天下午 5:00 (UTC+1) 執行正式版本設定建立的所有最新編譯結果。
查看過去的 production 編譯結果
如要查看過去排定的 production 編譯結果,請按照下列步驟操作:
前往 Google Cloud 控制台的「Dataform」頁面。
選取
quickstart-production存放區。按一下「發布與排程」。
在「Release configurations」(版本設定) 部分,按一下
production。
查看過去的 production 工作流程執行作業
如要查看過去的 production 工作流程執行作業,請按照下列步驟操作:
前往 Google Cloud 控制台的「Dataform」頁面。
選取
quickstart-production存放區。按一下「Workflow Execution Logs」(工作流程執行記錄)。
選取工作流程執行作業,即可查看更詳細的資訊,包括每個動作的狀態和任何記錄。
清除所用資源
為了避免系統向您的 Google Cloud 帳戶收取本頁面所用資源的費用,請按照下列步驟操作。
刪除在 BigQuery 中建立的資料集
如要避免系統依 BigQuery 資產收取費用,請按照下列步驟刪除名為 dataform_production 的資料集:
前往 Google Cloud 控制台的「BigQuery」頁面。
在「Explorer」面板中展開專案,然後選取
dataform_production。按一下 「Actions」(動作) 選單,然後選取「Delete」(刪除)。
在「Delete dataset」(刪除資料集) 對話方塊中輸入「delete」,然後按一下「Delete」(刪除)。
刪除 Dataform 版本設定
建立 Dataform 版本設定不會產生任何費用。不過,如果您想刪除 production 版本設定,請按照下列步驟操作:
前往 Google Cloud 控制台的「Dataform」頁面。
按一下「
quickstart-production」。按一下「發布與排程」,然後前往「版本設定」部分。
在
production發布設定中,按一下 「More」(更多) 選單,然後點選「Delete」(刪除)。在「刪除發布版本設定」對話方塊中,按一下「刪除」。
刪除 Dataform 工作流程設定
如要避免系統依 BigQuery 資產收取費用,請按照下列步驟刪除 Dataform production 工作流程設定:
前往 Google Cloud 控制台的「Dataform」頁面。
按一下「
quickstart-production」。按一下「發布與排程」,然後前往「工作流程設定」部分。
在
production工作流程設定中,按一下 「More」(更多) 選單,然後按一下「Delete」(刪除)。在「刪除發布版本設定」對話方塊中,按一下「刪除」。
刪除 Dataform 存放區
建立 Dataform 存放區不會產生任何費用。不過,如果您想刪除存放區和當中所有內容,可以按照下列步驟操作:
前往 Google Cloud 控制台的「Dataform」頁面。
在
quickstart-production旁邊,按一下 「More」(更多) 選單,然後選取「Delete」(刪除)。在「Delete repository」(刪除存放區) 視窗中,輸入存放區名稱來確認刪除。
按一下「Delete」(刪除) 確認操作。
後續步驟
- 如要進一步瞭解服務帳戶,請參閱「關於自訂服務帳戶和 Dataform 服務代理程式」。
- 如要進一步瞭解 Dataform 中的程式碼生命週期,請參閱「Dataform 中的程式碼生命週期簡介」。
- 如要進一步瞭解 Dataform 工作流程生命週期的最佳做法,請參閱「工作流程生命週期的最佳做法」。
- 如要進一步瞭解 Dataform 中的發布設定,請參閱「建立發布設定」。
- 如要進一步瞭解 Dataform 中的工作流程設定,請參閱「使用工作流程設定排定執行時間」。