建立開發環境
這份快速入門導覽課程會逐步說明如何在 Dataform 中建立個別開發環境,讓每位開發人員都能在自己的開發環境中工作:
- 建立 Dataform 存放區。
- 授予必要角色。
-
建立編譯覆寫設定,讓 Dataform 套用至存放區中的所有工作區,將工作區轉換為獨立的開發環境。
事前準備
- 登入 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 帳戶。
自訂服務帳戶必須具備下列必要角色:
- 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-dev。在「Region」(區域) 清單中選取「
europe-west4」。在「Service account」(服務帳戶) 清單中,選取存放區的自訂服務帳戶。
在「actAs 權限檢查」部分,強制對存放區中的使用者動作執行權限檢查。
點選「建立」。
點選「前往存放區」。
建立工作區編譯覆寫設定
如要使用 Dataform 工作區編譯覆寫功能來建立獨立的開發環境,請按照下列步驟操作:
前往 Google Cloud 控制台的「Dataform」頁面。
按一下「
quickstart-dev」。按一下「Settings」(設定),然後按一下「Edit」(編輯)。
在「Workspace compilation overrides」(工作區編譯覆寫設定) 窗格中的「Schema suffix」(結構定義後置字串) 欄位中輸入
${workspaceName}。在工作區中觸發執行作業時,Dataform 會以工作區名稱做為後置字串,附加至工作流程設定中設定的預設結構定義。本快速入門導覽課程會使用具
dataform預設結構定義的預設 Dataform 設定。按一下 [儲存]。
Dataform 會將工作區編譯覆寫設定套用到存放區中的所有工作區。
完成這項設定後,在工作區中手動執行工作流程時,Dataform 會透過工作區編譯覆寫來執行該工作流程。因此,Dataform 會在 BigQuery 的 dataform_workspaceName 結構定義中執行工作流程,將工作區轉換為獨立的開發環境。
舉例來說,當您在 sasha 工作區中手動觸發執行作業時,Dataform 會在 BigQuery 的 dataform_sasha 結構定義中執行工作流程。
如要在沒有工作區編譯覆寫的情況下執行工作流程,但保留開發環境的工作區編譯覆寫,您可以建立版本設定來設置其他執行環境,例如 staging 和 production。
清除所用資源
為了避免系統向您的 Google Cloud 帳戶收取本頁面所用資源的費用,請按照下列步驟操作。
刪除在 BigQuery 中建立的資料集
如要避免系統依 BigQuery 資產收取費用,請刪除名稱開頭為 dataform 的資料集,例如 dataform-sasha。
前往 Google Cloud 控制台的「BigQuery」頁面。
在「Explorer」面板中展開專案並選取資料集。
按一下 「Actions」(動作) 選單,然後選取「Delete」(刪除)。
在「Delete dataset」(刪除資料集) 對話方塊中,在欄位輸入
delete,然後按一下「Delete」(刪除)。
刪除 Dataform 存放區
建立 Dataform 存放區不會產生任何費用。不過,如果您想刪除存放區和當中所有內容,可以按照下列步驟操作:
前往 Google Cloud 控制台的「Dataform」頁面。
在
quickstart-dev旁邊,按一下 「更多」選單,然後選取「刪除」。- 在「Delete repository」(刪除存放區) 視窗中,輸入存放區名稱來確認刪除。
按一下「Delete」(刪除) 確認操作。
後續步驟
- 如要進一步瞭解服務帳戶,請參閱「關於自訂服務帳戶和 Dataform 服務代理程式」。
- 如要進一步瞭解 Dataform 中的程式碼生命週期,請參閱「Dataform 中的程式碼生命週期簡介」。
- 如要進一步瞭解 Dataform 工作流程生命週期的最佳做法,請參閱「工作流程生命週期的最佳做法」。
- 如要進一步瞭解 Dataform 中的工作區編譯覆寫設定,請參閱「建立工作區編譯覆寫設定」。
- 如要瞭解如何在 Dataform 中排定正式環境執行作業,請參閱「排定正式環境執行作業」。