排定正式環境執行作業
本快速入門導覽課程會逐步說明如何在 Dataform 中排定正式環境執行作業:
- 建立 Dataform 存放區。
- 授予必要角色。
-
建立
production版本設定,並設定建立production編譯結果的頻率。接著,建立production工作流程設定、選取production發布設定,並設定執行production編譯結果的時間表。
事前準備
-
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, if any are not already enabled.
Roles required to enable APIs
To enable APIs, you need the
serviceusage.services.enablepermission. If you created the project, then you likely already have this permission through the Owner role (roles/owner). Otherwise, you can get this permission through the Service Usage Admin role (roles/serviceusage.serviceUsageAdmin). Learn how to grant roles.
此外,請選取或建立自訂服務帳戶,以便在 BigQuery 中執行工作流程。
必要的角色
如要取得執行本快速入門導覽課程中所有工作所需的權限,請要求管理員授予您下列 IAM 角色:
- 存放區的 Dataform 管理員 (
roles/dataform.admin) - 自訂服務帳戶的服務帳戶使用者 (
roles/iam.serviceAccountUser) - 專案的專案 IAM 管理員 (
roles/resourcemanager.projectIamAdmin)
如要進一步瞭解如何授予角色,請參閱「管理專案、資料夾和組織的存取權」。
授予必要角色
如要在 BigQuery 中執行工作流程,可以使用自訂服務帳戶或 Google 帳戶 (預先發布版)。不過,排定執行作業的預設選項是自訂服務帳戶憑證。不建議使用 Google 帳戶使用者帳戶憑證執行排定作業。
自訂服務帳戶必須具備下列必要角色:
- 專案或特定 BigQuery 資料集的 BigQuery 資料編輯者 (
roles/bigquery.dataEditor),Dataform 需要這些項目的讀取和寫入權限。通常包括託管 Dataform 存放區的專案。 - 在 Dataform 需要唯讀存取權的專案或特定 BigQuery 資料集上,授予 BigQuery 資料檢視者 (
roles/bigquery.dataViewer) 角色。 - 託管 Dataform 存放區的專案 BigQuery 工作使用者 (
roles/bigquery.jobUser)。
如要讓 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.將
PROJECT_NUMBER替換為Google Cloud 專案的數字 ID。您可以在Google Cloud 控制台資訊主頁中找到 Google Cloud 專案 ID。詳情請參閱「尋找專案名稱、編號和 ID」。在「Select a role」(選取角色) 清單中,新增下列角色:
- 服務帳戶使用者
- 服務帳戶權杖建立者
按一下「儲存」。
如要進一步瞭解如何授予角色,請參閱「授予 Dataform 必要存取權」。
建立 Dataform 存放區
前往 Google Cloud 控制台的「Dataform」頁面。
按一下「 建立存放區」。
在「建立存放區」頁面中執行下列操作:
在「Repository ID」(存放區 ID) 欄位中輸入
quickstart-production。在「Region」(區域) 清單中選取「
europe-west4」。在「Service account」(服務帳戶) 清單中,選取存放區的自訂服務帳戶。
在「actAs permission checks」(actAs 權限檢查) 部分,強制執行使用者在存放區執行動作的權限檢查。
點選「建立」。
點選「前往存放區」。
建立版本設定和工作流程設定
請按照下列步驟,建立 quickstart-production 存放區的正式環境編譯結果,並排定 production 資料表的執行作業:
前往 Google Cloud 控制台的「Dataform」頁面。
按一下「
quickstart-production」。依序點選「版本和排程」和「建立正式版本」。
在「Create release configuration」(建立版本設定) 窗格中,進行下列設定:
- 在「Release ID」(發布版本 ID) 欄位中輸入
production。 - 保留「Git commitish」(Git 修訂版本) 欄位的預設值
main。這個欄位接受 Git 分支版本、標記或修訂版本 SHA。 - 在「Schedule frequency」(排程頻率) 區段的「Repeats」(重複) 選單中,選取「Custom」(自訂)。
- 在「Custom schedule」(自訂排程) 欄位中輸入
0 16 * * *。 在「Timezone」(時區) 選單中,選取 UTC+1 時區,例如「Central European Standard Time (CET)」(歐洲中部標準時間 (CET))。
Dataform 會在每天下午 4 點 (UTC+1) 編譯
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」。 - 在「Schedule frequency」(排程頻率) 區段的「Repeats」(重複) 選單中,選取「Custom」(自訂)。
- 在「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,然後點選「刪除」。
刪除 Dataform 版本設定
建立 Dataform 版本設定不會產生任何費用。不過,如果您想刪除 production 版本設定,請按照下列步驟操作:
前往 Google Cloud 控制台的「Dataform」頁面。
按一下「
quickstart-production」。按一下「Releases & scheduling」(版本和排程),然後前往「Release configurations」(版本設定) 專區。
在
production發布設定中,按一下 「More」(更多) 選單,然後點選「Delete」(刪除)。在「Delete release configuration」(刪除發布版本設定) 對話方塊中,按一下「Delete」(刪除)。
刪除 Dataform 工作流程設定
如要避免系統依 BigQuery 資產收取費用,請按照下列步驟,刪除 Dataform production 工作流程設定:
前往 Google Cloud 控制台的「Dataform」頁面。
按一下「
quickstart-production」。按一下「Releases & scheduling」(版本和排程),然後前往「Workflow configurations」(工作流程設定) 區段。
在
production工作流程設定中,按一下 「More」(更多) 選單,然後按一下「Delete」(刪除)。在「Delete release configuration」(刪除發布版本設定) 對話方塊中,按一下「Delete」(刪除)。
刪除 Dataform 存放區
建立 Dataform 存放區不會產生任何費用。不過,如果您想刪除存放區及其中所有內容,請按照下列步驟操作:
前往 Google Cloud 控制台的「Dataform」頁面。
在
quickstart-production旁邊,按一下 「More」(更多) 選單,然後選取「Delete」(刪除)。在「Delete repository」(刪除存放區) 視窗中,輸入存放區名稱來確認刪除。
按一下「Delete」(刪除) 確認操作。
後續步驟
- 如要進一步瞭解服務帳戶,請參閱「關於自訂服務帳戶和 Dataform 服務代理」。
- 如要進一步瞭解 Dataform 中的程式碼生命週期,請參閱「Dataform 中的程式碼生命週期簡介」。
- 如要進一步瞭解 Dataform 工作流程生命週期的最佳做法,請參閱「工作流程生命週期的最佳做法」。
- 如要進一步瞭解 Dataform 的版本設定,請參閱「建立版本設定」。
- 如要進一步瞭解 Dataform 的工作流程設定,請參閱「使用工作流程設定排定執行作業」。