建立存放區

本文將說明 Dataform 存放區的概念,以及如何建立新的存放區。

關於 Dataform 存放區

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

Dataform 頁面會依存放區 ID 的字母順序顯示存放區。你可以排序及篩選這些項目。

  • 如要查看存放區,請前往 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 工作流程執行記錄
「工作流程設定」分頁
可檢查、建立、編輯及刪除工作流程設定
「設定」分頁
顯示存放區的名稱和位置。如果存放區已連結至第三方 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 服務帳戶、與Google Cloud 專案相關聯的服務帳戶,或手動輸入其他服務帳戶。根據預設,Dataform 會使用從專案編號衍生出的服務帳戶,格式如下:

service-PROJECT_NUMBER@gcp-sa-dataform.iam.gserviceaccount.com

Dataform 會使用預設服務帳戶執行所有存放區作業。您可以使用其他服務帳戶在存放區中執行工作流程,但所有其他存放區作業仍會使用預設服務帳戶。

嚴格的「以…身分行動」模式 (預覽版)

啟用額外的安全性檢查,這項檢查需要服務帳戶的 iam.serviceAccounts.actAs 權限。詳情請參閱「使用嚴格的『扮演』模式」。

加密

存放區的加密方法。您可以使用預設加密、專屬的客戶管理 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) 身分與存取權管理角色。如要進一步瞭解如何授予角色,請參閱「管理專案、資料夾和機構的存取權」。

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

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

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

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

    建立存放區

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

    1. 前往 Google Cloud 控制台的「Dataform」頁面。

      前往 Dataform

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

    3. 在「建立存放區」頁面的「存放區 ID」欄位中,輸入專屬 ID。

      ID 只能使用數字、英文字母、連字號和底線。

    4. 在「Region」(區域) 下拉式清單中,選取 Dataform 區域來儲存存放區及其內容。選取離您最近的 Dataform 區域。

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

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

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

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

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

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

      預設 CMEK 金鑰

      Dataform 會顯示「使用預設 KMS 金鑰」核取方塊,並預設選取該方塊。

      • 如要使用預設 Dataform CMEK 金鑰加密存放區,請保持選取「使用預設 KMS 金鑰」核取方塊。

      專屬 CMEK 金鑰

      如要使用專屬的 CMEK 金鑰加密存放區,請按照下列步驟操作:

      1. 如果系統預設勾選「使用預設 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. 在「服務帳戶」欄位旁,按一下「編輯服務帳戶」圖示

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

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

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

    刪除存放區

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

    1. 前往 Google Cloud 控制台的「Dataform」頁面。

      前往 Dataform

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

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

    4. 點選「刪除」。

    後續步驟