本文可協助您瞭解 Dataform 中的存放區概念,以及如何建立新的存放區。
關於 Dataform 存放區
每個 Dataform 存放區都會收納一系列 SQLX 和 JavaScript 檔案,這些檔案組成您的工作流程,以及 Dataform 設定檔和套件。您可以在開發工作區中與存放區內容互動。
Dataform 會依照存放區 ID 的字母順序,在 Dataform 頁面上顯示您的存放區。您可以對這些資料進行排序和篩選。
如要查看存放區,請在 Google Cloud 控制台中前往「Dataform」頁面。
每個 Dataform 存放區都會連結至服務帳戶。您可以在建立存放區時選取服務帳戶,也可以稍後編輯服務帳戶。
根據預設,Dataform 會使用從專案編號衍生出的服務帳戶,格式如下:
service-PROJECT_NUMBER@gcp-sa-dataform.iam.gserviceaccount.com
Dataform 會使用 Git 記錄變更並管理檔案版本。每個 Dataform 存放區都會對應至 Git 存放區。建立 Dataform 存放區後,您可以將其連結至遠端 GitHub、GitLab 或 Bitbucket 存放區。
在 Dataform 存放區中,Dataform 會儲存存放區程式碼。在已連結的存放區中,第三方存放區會儲存存放區程式碼。Dataform 會與第三方存放區互動,讓您在 Dataform 開發工作區中編輯及執行其內容。
Dataform 存放區頁面由下列元件組成:
- 「Development workspaces」分頁
- 顯示在存放區中建立的開發工作區。
- 「版本設定」分頁
- 可讓您檢查、建立、編輯及刪除發布版本。
- 「工作流程執行記錄」分頁
- 顯示 Dataform 工作流程執行記錄。
- 「工作流程設定」分頁
- 可讓您檢查、建立、編輯及刪除工作流程設定。
- 「設定」分頁
- 顯示存放區的名稱和位置。如果存放區已連結至第三方 Git 存放區,則會顯示第三方存放區來源、預設分支名稱和密鑰符記。顯示按鈕,可將存放區連結至第三方 Git 存放區,以及編輯 Git 連線。
- 「Create development workspace」按鈕
- 讓您建立開發工作區。
建立並初始化開發工作區後,您可以編輯工作流程設定檔,設定存放區的下列 Dataform 設定:
- 預設資料庫 (Google Cloud 專案 ID)。
- 預設結構定義 (BigQuery 資料集 ID)。
- 預設的 BigQuery 位置。
- 斷言的預設結構定義 (BigQuery 資料集 ID)。
- 倉庫,必須設為
bigquery
。 - 在編譯期間提供給專案程式碼的使用者定義變數。
如要進一步瞭解 Dataform 存放區設定,請參閱 Dataform 核心參考資料中的 IProjectConfig。
存放區設定
建立 Dataform 存放區時,您需要設定下列存放區設定:
- 存放區 ID
- 存放區的專屬 ID。ID 只能包含數字、英文字母、連字號和底線。
- 地區
用於儲存存放區及其內容的 Dataform 區域。
這個儲存區域可能與處理區域不同,Dataform 會在處理區域處理程式碼並儲存執行作業的輸出內容。根據預設,處理區域會設為預設的 BigQuery 資料集區域。建立存放區後,您可以在工作流程設定檔中編輯處理區域。詳情請參閱「設定 Dataform 工作流程設定」。
- 服務帳戶
與存放區相關聯的服務帳戶。您可以選取預設的 Dataform 服務帳戶、與Google Cloud 專案相關聯的服務帳戶,或手動輸入其他服務帳戶。根據預設,Dataform 會使用從專案編號衍生出的服務帳戶,格式如下:
service-PROJECT_NUMBER@gcp-sa-dataform.iam.gserviceaccount.com
Dataform 會為所有存放區作業使用預設服務帳戶。您可以使用其他服務帳戶在存放區中執行工作流程,但預設服務帳戶仍會用於所有其他存放區作業。
- 嚴格 act-as 模式 (預覽)
啟用額外的安全性檢查,需要服務帳戶的
iam.serviceAccounts.actAs
權限。詳情請參閱「使用嚴格的 act-as 模式」。- 加密
存放區的加密方法。您可以使用預設加密、客戶管理的 Cloud KMS 加密金鑰或預設 Dataform CMEK 金鑰。如要進一步瞭解如何在 Dataform 中使用客戶自行管理的加密金鑰 (CMEK),請參閱「使用客戶自行管理的加密金鑰」。
建立存放區後,您可以將存放區連結至 GitHub 或 GitLab。
事前準備
- 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.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the BigQuery and Dataform APIs.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the BigQuery and Dataform APIs.
- 如要為存放區使用 CMEK 加密功能,請啟用 Dataform 存放區的 CMEK 加密功能。
在 Google Cloud 控制台中,前往「Dataform」頁面。
點選「Create Repository」(建立存放區)。
在「Create repository」(建立存放區) 頁面的「Repository ID」(存放區 ID) 欄位中輸入專屬 ID。
ID 只能包含數字、英文字母、連字號和底線。
在「Region」下拉式清單中,選取用於儲存存放區及其內容的 Dataform 區域。選取離您所在位置最近的 Dataform 區域。
如需可用 Dataform 區域的清單,請參閱「位置」。存放區區域不必與 BigQuery 資料集的位置相符。
您可以在
workflow_settings.yaml
檔案中設定處理區域,讓 Dataform 處理程式碼並儲存執行作業的輸出內容。處理區域必須與 BigQuery 資料集的位置相符,但不必與存放區區域相符。詳情請參閱「 設定 Dataform 工作流程設定」。在「Service account」(服務帳戶) 選單中,選取存放區的服務帳戶。
您可以在選單中選取預設 Dataform 服務帳戶,或與您有權存取的 Google Cloud 專案相關聯的任何服務帳戶。請注意,自訂服務帳戶僅用於執行工作流程。所有其他存放區作業仍由預設 Dataform 服務帳戶執行。
- 選用:如要選取選單中未顯示的服務帳戶,請按一下「手動輸入」,然後輸入服務帳戶 ID。
選用步驟:選取「強制執行『actAs』權限檢查」,針對存放區中的特定使用者動作啟用其他安全性檢查。如要進一步瞭解這些檢查,請參閱「使用嚴格的 act-as 模式」。
為存放區設定所選的加密機制:
預設 CMEK 金鑰
Dataform 會顯示「Use the default KMS key」核取方塊,並預設選取該方塊。
- 如要使用預設 Dataform CMEK 金鑰加密存放區,請勾選「Use the default KMS key」核取方塊。
專屬 CMEK 金鑰
如要使用專屬的 CMEK 金鑰加密存放區,請執行下列操作:
- 如果系統預設勾選「Use the default KMS key」(使用預設 KMS 金鑰) 核取方塊,請取消勾選該核取方塊。
- 在「Encryption」區段中,選取「Customer-managed encryption keys (CMEK)」(客戶管理的加密金鑰 (CMEK)) 選項。
- 在「Select a customer-managed key」(選取客戶管理的金鑰) 下拉式選單中,選取專屬的 CMEK 金鑰。
靜態資料加密
- 如要使用預設加密,請在「Encryption」部分中選取「Google-managed encryption key」選項。
依序點選「建立」和「完成」。
在 Google Cloud 控制台中,前往「Dataform」頁面。
選取存放區,然後按一下「設定」。
在「Service account」(服務帳戶) 欄位旁,按一下
「Edit Service account」(編輯服務帳戶)。在「Service account」下拉式選單中,選取存放區的服務帳戶。
在下拉式選單中,您可以選取預設 Dataform 服務帳戶,或與您有存取權的 Google Cloud 專案相關聯的任何服務帳戶。
- 選用:如要選取下拉式選單中未顯示的服務帳戶,請按一下「手動輸入」,然後輸入服務帳戶 ID。
按一下 [儲存]。
在 Google Cloud 控制台中,前往「Dataform」頁面。
在要刪除的存放區旁,按一下
「More」選單,然後選取「Delete」。在「Delete repository」(刪除存放區) 視窗中,輸入存放區名稱來確認刪除。
點選「刪除」。
- 如要瞭解如何將 Dataform 存放區連結至第三方 Git 存放區,請參閱「連結至第三方 Git 存放區」。
- 如要進一步瞭解存放區大小對 Dataform 開發作業的影響,請參閱「存放區大小總覽」。
- 如要進一步瞭解如何在 Dataform 中分割存放區,請參閱「分割存放區簡介」。
- 如要瞭解如何設定 Dataform 處理設定,請參閱「設定 Dataform 工作流程設定」。
- 如要瞭解如何建立及初始化工作區,請參閱「建立工作區」。
必要的角色
如要取得建立及刪除存放區所需的權限,請要求管理員授予您存放區的 Dataform 管理員 (roles/dataform.admin
) IAM 角色。如要進一步瞭解如何授予角色,請參閱「管理專案、資料夾和機構的存取權」。
如要使用預設 Dataform 服務帳戶以外的服務帳戶,請授予自訂服務帳戶存取權。
如要進一步瞭解在 BigQuery 中執行工作流程所需的角色,請參閱「Dataform 服務帳戶的必要角色」。
建立 Dataform 存放區後,Dataform 會自動授予您該存放區的 Dataform 管理員角色。
建立存放區
如要建立 Dataform 存放區,請按照下列步驟操作:
編輯服務帳戶
您可以將自訂服務帳戶與 Dataform 存放區建立關聯,以便執行工作流程。所有其他存放區作業仍由預設 Dataform 服務帳戶執行。
如要編輯 Dataform 存放區的服務帳戶,請按照下列步驟操作:
刪除存放區
如要刪除存放區及其所有內容,請按照下列步驟操作: