設定彙整內容

本文說明如何在 Dataform 中執行下列操作:

事前準備

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

    前往 Dataform

  2. 選取或建立存放區

  3. 選取或建立開發工作區

  4. 選用:如要覆寫發布設定中的預設 Google Cloud 專案,請在您打算使用的專案中授予自訂服務帳戶存取權

必要的角色

如要取得完成本文工作所需的權限,請要求管理員授予您下列 IAM 角色:

如要進一步瞭解如何授予角色,請參閱「管理專案、資料夾和組織的存取權」。

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

如要提升排程安全性,請參閱「實作進階排程權限」。

如要更新 Dataform 存放區版本設定的發布版本,您必須為使用此版本設定的工作流程設定中的每個自訂服務帳戶,授予 Dataform 服務代理程式 iam.serviceAccounts.actAs 權限。這項權限包含在服務帳戶使用者角色 (roles/iam.serviceAccountUser) 中。詳情請參閱「授予必要的 IAM 角色」。

Dataform 工作流程生命週期簡介

本節說明 Dataform 的工作流程生命週期,以及如何在 Dataform 中設定編譯和執行作業。

Dataform 工作流程生命週期包含下列階段:

開發
您可以在 Dataform 工作區開發工作流程
編譯

Dataform 會在工作區中即時將工作流程程式碼編譯為 SQL,並建立工作區的編譯結果,您可以在 BigQuery 中執行該結果。Dataform 會使用工作流程設定檔中定義的設定,建立編譯結果。

Dataform 編譯作業是密封的,可確保編譯作業的一致性,也就是說,每次編譯相同的程式碼時,都會產生相同的 SQL 編譯結果。Dataform 會在無法存取網際網路的沙箱環境中編譯程式碼。編譯期間無法執行其他動作,例如呼叫外部 API。

執行

工作流程叫用中,Dataform 會在 BigQuery 中執行工作區編譯結果。

如要根據需求調整 Dataform 工作流程生命週期,您可以設定編譯結果,影響 Dataform 執行工作流程的位置和方式。接著,您可以手動觸發或排定執行時間,決定 Dataform 何時執行整個工作流程或選取的元素。

設定 Dataform 編譯的方式

根據預設,Dataform 會使用工作流程設定檔中的設定,建立編譯結果。您可以透過編譯覆寫功能覆寫預設設定,建立自訂編譯結果。然後手動觸發自訂編譯結果的執行作業,或排定執行作業。

Dataform 提供下列選項,可設定編譯結果:

工作區編譯覆寫設定
您可以設定編譯覆寫,套用至存放區中的所有工作區。您可以使用工作區編譯覆寫功能建立獨立的開發環境。
版本設定
您可以建立版本設定,設定範本來建立 Dataform 存放區的編譯結果。接著,您可以建立工作流程設定,排定所選發布版本設定中建立的編譯結果執行時程。
Dataform API 編譯覆寫
您可以在終端機中傳遞 Dataform API 要求,藉此建立及執行具有編譯覆寫的單一編譯結果。

建立工作區編譯覆寫設定

您可以透過工作區編譯覆寫設定,為 Dataform 存放區中的所有工作區建立編譯覆寫設定。每個存放區只能建立一個工作區編譯覆寫設定。

如果您在存放區中手動觸發工作區的執行作業,且該存放區具有工作區編譯覆寫設定,Dataform 會將這些覆寫設定套用至工作區的編譯結果。

您可以設定下列工作區編譯覆寫設定:

  • Dataform 執行工作區內容的專案Google Cloud
  • 資料表前置字串
  • 結構定義後置字串

您可以使用工作區編譯覆寫功能,透過動態編譯覆寫功能,在 BigQuery 中隔離工作區編譯結果,建立獨立的開發環境。動態資料表前置字串和結構定義後置字串編譯覆寫包含 ${workspaceName} 變數。在工作區中觸發執行作業時,Dataform 會將 ${workspaceName} 變數替換為目前工作區的名稱,建立工作區專屬的編譯覆寫。

請注意,您無法排定使用工作區編譯覆寫設定建立的編譯結果執行時間。

建立發布版本設定

透過發布設定,您可以設定範本,為建立存放區的編譯結果。

在版本設定中,您可以設定工作流程設定、編譯變數的編譯覆寫,以及建立整個存放區編譯結果的頻率。

在發布設定中,您可以設定下列編譯覆寫:

  • Google Cloud 專案
  • 資料表前置字串
  • 結構定義後置字串
  • 編譯變數的值

您可以在 Dataform 存放區中建立多個發布設定,開發生命週期的每個階段各有一個,藉此建立獨立的存放區編譯結果。

接著,您可以建立工作流程設定,安排所選版本設定中建立的編譯結果執行作業

您也可以手動在所選發行設定中觸發編譯結果的執行作業

使用 Dataform API 編譯覆寫設定單一編譯結果

在終端機中傳遞 Dataform API 要求,即可為單一編譯結果設定編譯覆寫。

compilationResults.create 要求中,您可以建立 Dataform 工作區或指定 Git commitish 的單一編譯結果。

compilationResults.create 要求的