ワークスペース コンパイル オーバーライドを作成する

このドキュメントでは、BigQuery の Dataform ワークスペースから作成されたテーブルとビューを分離するために、ワークスペース コンパイル オーバーライドを作成する方法について説明します。ワークスペース コンパイル オーバーライドを使用して、分離された Dataform 開発環境を作成できます。

ワークスペース コンパイル オーバーライドについて

Dataform ワークスペースで SQL ワークフロー コードを開発する場合、Dataform は、ワークスペースでコードをリアルタイムでし、ワークスペースの結果を作成します。Dataform は、ワークフロー設定ファイルで定義された設定を使用して、ワークスペースのコンパイル結果を作成します。その後、ワークスペースで実行をトリガーすると、Dataform は BigQuery でワークスペースの結果を実行します。

リポジトリ内のすべてのワークスペースで ワークフロー設定 に設定されたデフォルト設定をオーバーライドするには、ワークスペース コンパイル オーバーライドを作成します。

ワークスペース コンパイル オーバーライドを使用すると、リポジトリ内のすべてのワークスペースで次の設定をオーバーライドできます。

プロジェクト
workflow_settings.yamldefaultProject として、または dataform.jsondefaultDatabase として設定されたワークスペースの結果を Dataform が実行する Google Cloud プロジェクト。
テーブルの接頭辞
リポジトリ内のすべてのワークスペースのすべてのテーブル名に追加されたカスタム プレフィックス。
スキーマの接尾辞

定義されるテーブルのスキーマに追加されるカスタム接尾辞

workflow_settings.yamldefaultDatasetdataform.jsondefaultSchema、またはテーブルの config ブロックの schema パラメータとして設定します。

分離された開発環境を作成するため、一意の オーバーライドを使用してワークスペースを分離できます。テーブル接頭辞とスキーマ接尾辞のオーバーライドは、${workspaceName} 変数を使用して動的に変更できます。

ワークスペースで手動で実行をトリガーすると、${workspaceName} 変数によりワークスペースの名前がワークスペース コンパイル オーバーライドに挿入されます。

テーブルの接頭辞として ${workspaceName} を設定すると、Dataform ではワークスペース内のすべてのテーブルの名前にワークスペースの名前が追加されます。実行後、BigQuery でテーブルの元のワークスペースを確認できます。

${workspaceName} をスキーマの接尾辞として設定すると、Dataform はワークスペースの名前を defaultSchema に追加し、ワークスペース専用のカスタム スキーマを作成します。実行後、BigQuery で、特定のワークスペースから実行されたすべてのテーブルを専用のスキーマ内で配置できます。

動的なワークスペース コンパイル オーバーライドの例

次の例は、リポジトリを操作する開発者にちなんで名付けられたワークスペースを含むリポジトリに適用される動的なワークスペース コンパイル オーバーライドを示しています(Sasha および Kai)。

この例のワークスペース コンパイル オーバーライドの目的は、Ssha と Kai 用に分離された開発環境を作成することです。

次のデフォルト設定は、workflow_settings.yaml で設定されています。

  • defaultProject: analytics
  • defaultDataset: dataform

次のワークスペース コンパイル オーバーライドでは、リポジトリ内の各ワークスペースに動的なテーブル接頭辞とスキーマ接尾辞を作成します。

  • Google Cloud プロジェクト ID: analytics_dev
  • テーブルの接頭辞: ${workspaceName}
  • スキーマの接尾辞: ${workspaceName}

Sasha が Sasha ワークスペースで実行を手動でトリガーすると、Dataform は次の設定でコンテンツを実行します。

  • Google Cloud プロジェクト: analytics_dev
  • スキーマ: dataform_sasha
  • テーブル名: sasha_name(例: sasha_orders)。

Kai が Kai ワークスペースで手動で実行をトリガーすると、Dataform は次の設定でそのコンテンツを実行します。

  • Google Cloud プロジェクト: analytics_dev
  • スキーマ: dataform_kai
  • テーブル名: kai_name(例: kai_orders

始める前に

  1. Google Cloud コンソールの [Dataform] ページに移動します。

    [Dataform] ページに移動

  2. リポジトリを作成または選択します。

  3. 省略可: デフォルトの Google Cloud プロジェクトをオーバーライドするには、使用する Google Cloud プロジェクトへのアクセス権を Dataform サービス アカウントに付与します。

必要なロール

ワークスペース コンパイル オーバーライドを作成するために必要な権限を取得するには、リポジトリに対する Dataform 管理者 roles/dataform.admin)IAM ロールを付与するよう管理者に依頼してください。ロールの付与については、プロジェクト、フォルダ、組織へのアクセスを管理するをご覧ください。

必要な権限は、カスタムロールや他の事前定義ロールから取得することもできます。

ワークスペース コンパイル オーバーライドを作成する

Dataform ワークスペース コンパイル オーバーライドを作成するには、次の手順に従います。

  1. リポジトリの [設定] に移動します。
  2. [編集] をクリックします。
  3. [ワークスペース コンパイル オーバーライド] ペインで、[Google Cloud プロジェクト ID] フィールドに Google Cloud プロジェクトの ID を入力します。
  4. [テーブル接頭辞] フィールドに、すべてのテーブル名の接頭辞を入力します。
    1. 省略可: ワークスペースごとに一意の動的テーブル接頭辞を作成するには、テーブル接頭辞として ${workspaceName} を入力します。
  5. [Schema suffix] フィールドに、作成したテーブルまたはビューのスキーマに追加するサフィックスを入力します。
    1. 省略可: ワークスペースごとに一意の動的スキーマの接尾辞を作成するには、テーブル接尾辞として「${workspaceName}」を入力します。
  6. [保存] をクリックします。

Dataform は、リポジトリ内のすべてのワークスペースにワークスペース コンパイル オーバーライドを適用します。

ワークスペース コンパイル オーバーライドを編集する

Dataform ワークスペース コンパイル オーバーライドを編集する手順は次のとおりです。

  1. リポジトリの [設定] に移動します。
  2. [編集] をクリックします。
  3. ワークスペース コンパイル オーバーライドを編集し、[保存] をクリックします。

ワークスペース コンパイル オーバーライドを削除する

Dataform ワークスペース コンパイル オーバーライドを削除するには、次の手順に従います。

  1. リポジトリで [設定] に移動します。
  2. [編集] をクリックします。
  3. [ワークスペース コンパイル オーバーライド] ペインで、[すべてをクリアする] をクリックしてから、[保存] をクリックします。

次のステップ

  • 実行を手動でトリガーする方法については、実行のトリガーをご覧ください。