本文將說明 Dataform 存放區的概念,以及如何建立新的存放區。
關於 Dataform 存放區
每個 Dataform 存放區都包含一組構成工作流程的 SQLX 和 JavaScript 檔案,以及 Dataform 設定檔和套件。您可以在開發工作區中與存放區內容互動。
Dataform 頁面會依存放區 ID 的字母順序顯示存放區。你可以排序及篩選這些項目。
- 如要查看存放區,請前往 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 工作流程執行記錄。
- 「工作流程設定」分頁
- 可檢查、建立、編輯及刪除工作流程設定。
- 「設定」分頁
- 顯示存放區的名稱和位置。如果存放區已連線至第三方 Git 存放區,系統會顯示第三方存放區來源、預設分支名稱和密鑰權杖。顯示按鈕,可將存放區連結至第三方 Git 存放區,以及編輯 Git 連線。
- 「建立開發工作區」按鈕
- 可讓您建立開發工作區。
建立並初始化開發工作區後,您可以編輯工作流程設定檔,設定存放區的下列 Dataform 設定:
- 預設資料庫 (Google Cloud 專案 ID)。
- 預設結構定義 (BigQuery 資料集 ID)。
- 預設 BigQuery 位置。
- 斷言的預設結構定義 (BigQuery 資料集 ID)。
- 倉庫,必須設為 bigquery。
- 編譯期間可供專案程式碼使用的使用者定義變數。
如要進一步瞭解 Dataform 存放區設定,請參閱 Dataform 核心參考資料中的 IProjectConfig。
存放區設定
建立 Dataform 存放區時,您需要設定下列存放區設定:
- 存放區 ID
- 存放區的專屬 ID。ID 只能使用數字、英文字母、連字號和底線。
- 區域
- 儲存存放區及其內容的 Dataform 區域。 - 這個儲存區域可能與處理區域不同,Dataform 會在處理區域處理程式碼,並儲存執行作業的輸出內容。根據預設,處理地區會設為預設的 BigQuery 資料集地區。建立存放區後,您可以在工作流程設定檔中編輯處理區域。詳情請參閱「設定 Dataform 工作流程設定」。 
- 服務代理程式或服務帳戶
- 與存放區相關聯的 Dataform 服務代理程式或自訂服務帳戶。您可以選取預設的 Dataform 服務代理程式、與 Google Cloud 專案相關聯的服務帳戶,或手動輸入其他服務帳戶。根據預設,Dataform 會使用從專案編號衍生出的服務代理或服務帳戶,格式如下: - service-PROJECT_NUMBER@gcp-sa-dataform.iam.gserviceaccount.com- Dataform 會使用預設服務代理程式執行所有存放區作業。您可以使用其他服務帳戶在存放區中執行工作流程,但所有其他存放區作業仍會使用預設服務代理程式。 
- 嚴格的「扮演」模式 (預先發布版)
- 啟用額外的安全檢查,服務代理程式或服務帳戶必須具備 - iam.serviceAccounts.actAs權限。詳情請參閱「使用嚴格的『充當』模式」。
- 加密
- 存放區的加密方法。您可以使用預設加密、專屬的客戶管理 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. 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
      (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
      (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.
- 如要為存放區使用 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』權限檢查」,對存放區中特定使用者動作啟用進一步的安全檢查。如要進一步瞭解這些檢查,請參閱使用嚴格的「充當」模式。 
- 為存放區設定所選的加密機制: - 預設 CMEK 金鑰- Dataform 會顯示「使用預設 KMS 金鑰」核取方塊,並預設選取該方塊。 - 如要使用預設 Dataform CMEK 金鑰加密存放區,請保持選取「使用預設 KMS 金鑰」核取方塊。
 - 專屬 CMEK 金鑰- 如要使用專屬的 CMEK 金鑰加密存放區,請按照下列步驟操作: - 如果系統預設勾選「使用預設 KMS 金鑰」核取方塊,請取消勾選。
- 在「Encryption」(加密) 區段中,選取「Customer-managed encryption keys (CMEK)」(客戶管理的加密金鑰 (CMEK)) 選項。
- 在「Select a customer-managed key」(選取客戶管理的金鑰) 下拉式選單中,選取專屬的 CMEK 金鑰。
 - 靜態資料加密- 如要使用預設加密,請在「Encryption」(加密) 區段中選取 Google-managed encryption key 選項。
 
- 依序點選「建立」和「完成」。 
- 前往 Google Cloud 控制台的「Dataform」頁面。 
- 選取存放區,然後按一下「Settings」。 
- 在「服務帳戶」欄位旁,按一下「編輯服務帳戶」圖示 。 
- 在「Service account」(服務帳戶) 選單中,選取存放區的服務代理程式或服務帳戶。 - 在選單中,您可以選取預設的 Dataform 服務代理程式,或是與您有權存取的 Google Cloud 專案相關聯的任何服務帳戶。 - 選用:如要選取選單中未顯示的服務帳戶,請按一下「手動輸入」並輸入服務帳戶 ID。
 
- 按一下 [儲存]。 
- 前往 Google Cloud 控制台的「Dataform」頁面。 
- 在要刪除的存放區旁,按一下「更多」選單,然後選取「刪除」。 
- 在「Delete repository」(刪除存放區) 視窗中,輸入存放區名稱來確認刪除。 
- 點選「刪除」。 
- 如要瞭解如何將 Dataform 存放區連結至第三方 Git 存放區,請參閱「連結至第三方 Git 存放區」。
- 如要進一步瞭解存放區大小對 Dataform 開發作業的影響,請參閱「存放區大小總覽」。
- 如要進一步瞭解如何在 Dataform 中分割存放區,請參閱存放區分割簡介。
- 如要瞭解如何設定 Dataform 處理設定,請參閱「設定 Dataform 工作流程設定」。
- 如要瞭解如何建立及初始化工作區,請參閱「建立工作區」。
必要的角色
    
      如要取得建立及刪除存放區所需的權限,請要求管理員授予您存放區的 Dataform 管理員  (roles/dataform.admin) 身分與存取權管理角色。如要進一步瞭解如何授予角色,請參閱「管理專案、資料夾和機構的存取權」。
  
  
如要使用預設 Dataform 服務代理程式以外的服務帳戶,請授予自訂服務帳戶存取權。
如要進一步瞭解在 BigQuery 中執行工作流程所需的角色,請參閱「Dataform 服務代理程式、自訂服務帳戶和 Google 帳戶的必要角色」。
建立 Dataform 存放區後,Dataform 會自動授予您該存放區的 Dataform 管理員角色。
建立存放區
如要建立 Dataform 存放區,請按照下列步驟操作:
編輯服務帳戶
您可以將自訂服務帳戶與 Dataform 存放區建立關聯,以執行工作流程。所有其他存放區作業仍由預設的 Dataform 服務代理程式執行。
如要編輯 Dataform 存放區的服務代理程式或服務帳戶,請按照下列步驟操作:
刪除存放區
如要刪除存放區及其中所有內容,請按照下列步驟操作: