建立存放區

本文可協助您瞭解 Dataform 中的存放區概念,以及如何建立新的存放區。

關於 Dataform 存放區

每個 Dataform 存放區都會收納一系列 SQLX 和 JavaScript 檔案,這些檔案組成您的工作流程,以及 Dataform 設定檔和套件。您可以在開發工作區中與存放區內容互動。

Dataform 會依照存放區 ID 的字母順序,在 Dataform 頁面上顯示您的存放區。您可以對這些資料進行排序和篩選。

  • 如要查看存放區,請在 Google Cloud 控制台中前往「Dataform」頁面。

    前往 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

事前準備

  1. 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.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  3. Make sure that billing is enabled for your Google Cloud project.

  4. Enable the BigQuery and Dataform APIs.

    Enable the APIs

  5. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  6. Make sure that billing is enabled for your Google Cloud project.

  7. Enable the BigQuery and Dataform APIs.

    Enable the APIs

  8. 如要為存放區使用 CMEK 加密功能,請啟用 Dataform 存放區的 CMEK 加密功能
  9. 必要的角色

    如要取得建立及刪除存放區所需的權限,請要求管理員授予您存放區的 Dataform 管理員 (roles/dataform.admin) IAM 角色。如要進一步瞭解如何授予角色,請參閱「管理專案、資料夾和機構的存取權」。

    您或許還可透過自訂角色或其他預先定義的角色取得必要權限。

    如要使用預設 Dataform 服務帳戶以外的服務帳戶,請授予自訂服務帳戶存取權

    如要進一步瞭解在 BigQuery 中執行工作流程所需的角色,請參閱「Dataform 服務帳戶的必要角色」。

    建立 Dataform 存放區後,Dataform 會自動授予您該存放區的 Dataform 管理員角色。

    建立存放區

    如要建立 Dataform 存放區,請按照下列步驟操作:

    1. 在 Google Cloud 控制台中,前往「Dataform」頁面。

      前往 Dataform

    2. 點選「Create Repository」(建立存放區)

    3. 在「Create repository」(建立存放區) 頁面的「Repository ID」(存放區 ID) 欄位中輸入專屬 ID。

      ID 只能包含數字、英文字母、連字號和底線。

    4. 在「Region」下拉式清單中,選取用於儲存存放區及其內容的 Dataform 區域。選取離您所在位置最近的 Dataform 區域。

      如需可用 Dataform 區域的清單,請參閱「位置」。存放區區域不必與 BigQuery 資料集的位置相符。

      您可以在 workflow_settings.yaml 檔案中設定處理區域,讓 Dataform 處理程式碼並儲存執行作業的輸出內容。處理區域必須與 BigQuery 資料集的位置相符,但不必與存放區區域相符。詳情請參閱「 設定 Dataform 工作流程設定」。

    5. 在「Service account」(服務帳戶) 選單中,選取存放區的服務帳戶。

      您可以在選單中選取預設 Dataform 服務帳戶,或與您有權存取的 Google Cloud 專案相關聯的任何服務帳戶。請注意,自訂服務帳戶僅用於執行工作流程。所有其他存放區作業仍由預設 Dataform 服務帳戶執行。

      1. 選用:如要選取選單中未顯示的服務帳戶,請按一下「手動輸入」,然後輸入服務帳戶 ID。
    6. 選用步驟:選取「強制執行『actAs』權限檢查」,針對存放區中的特定使用者動作啟用其他安全性檢查。如要進一步瞭解這些檢查,請參閱「使用嚴格的 act-as 模式」。

    7. 為存放區設定所選的加密機制:

      預設 CMEK 金鑰

      Dataform 會顯示「Use the default KMS key」核取方塊,並預設選取該方塊。

      • 如要使用預設 Dataform CMEK 金鑰加密存放區,請勾選「Use the default KMS key」核取方塊。

      專屬 CMEK 金鑰

      如要使用專屬的 CMEK 金鑰加密存放區,請執行下列操作:

      1. 如果系統預設勾選「Use the default KMS key」(使用預設 KMS 金鑰) 核取方塊,請取消勾選該核取方塊。
      2. 在「Encryption」區段中,選取「Customer-managed encryption keys (CMEK)」(客戶管理的加密金鑰 (CMEK)) 選項。
      3. 在「Select a customer-managed key」(選取客戶管理的金鑰) 下拉式選單中,選取專屬的 CMEK 金鑰。

      靜態資料加密

      • 如要使用預設加密,請在「Encryption」部分中選取「Google-managed encryption key」選項。
    8. 依序點選「建立」和「完成」

    編輯服務帳戶

    您可以將自訂服務帳戶與 Dataform 存放區建立關聯,以便執行工作流程。所有其他存放區作業仍由預設 Dataform 服務帳戶執行。

    如要編輯 Dataform 存放區的服務帳戶,請按照下列步驟操作:

    1. 在 Google Cloud 控制台中,前往「Dataform」頁面。

      前往 Dataform

    2. 選取存放區,然後按一下「設定」

    3. 在「Service account」(服務帳戶) 欄位旁,按一下 「Edit Service account」(編輯服務帳戶)

    4. 在「Service account」下拉式選單中,選取存放區的服務帳戶。

      在下拉式選單中,您可以選取預設 Dataform 服務帳戶,或與您有存取權的 Google Cloud 專案相關聯的任何服務帳戶。

      1. 選用:如要選取下拉式選單中未顯示的服務帳戶,請按一下「手動輸入」,然後輸入服務帳戶 ID。
    5. 按一下 [儲存]

    刪除存放區

    如要刪除存放區及其所有內容,請按照下列步驟操作:

    1. 在 Google Cloud 控制台中,前往「Dataform」頁面。

      前往 Dataform

    2. 在要刪除的存放區旁,按一下 「More」選單,然後選取「Delete」

    3. 在「Delete repository」(刪除存放區) 視窗中,輸入存放區名稱來確認刪除。

    4. 點選「刪除」。

    後續步驟