リポジトリを作成する

このドキュメントでは、Dataform のリポジトリのコンセプトと、新しいリポジトリを作成する方法について説明します。

Dataform リポジトリについて

各 Dataform リポジトリには、ワークフローを構成する SQLX と JavaScript ファイルのコレクション、Dataform 構成ファイルとパッケージが格納されています。リポジトリ内のファイルは開発ワークスペースで操作します。

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 リポジトリ ページは、次のコンポーネントで構成されています。

[開発ワークスペース] タブ
リポジトリに作成された開発ワークスペースを表示します。
[リリース設定] タブ
リリースを検査、作成、編集、削除できます。
[ワークフローの実行ログ] タブ
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 は、すべてのリポジトリ オペレーションにデフォルトのサービス アカウントを使用します。別のサービス アカウントを使用してリポジトリでワークフローを実行することができますが、他のすべてのリポジトリ オペレーションにはデフォルトのサービス アカウントが引き続き使用されます。

暗号化

リポジトリの暗号化方式。デフォルトの暗号化、一意の顧客管理の 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 暗号化を有効にする

必要なロール

リポジトリの作成と削除に必要な権限を取得するには、リポジトリに対する Dataform 管理者 roles/dataform.admin)IAM ロールの付与を管理者に依頼してください。ロールの付与については、プロジェクト、フォルダ、組織へのアクセスを管理するをご覧ください。

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

デフォルトの Dataform サービス アカウント以外のサービス アカウントを使用するには、カスタム サービス アカウントへのアクセス権を付与します。

Dataform リポジトリを作成すると、そのリポジトリに対する Dataform 管理者ロールが自動的に付与されます。

リポジトリを作成する

Dataform リポジトリを作成する手順は次のとおりです。

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

    Dataform に移動

  2. [リポジトリを作成] をクリックします。

  3. [リポジトリを作成] ページの [リポジトリ ID] フィールドに一意の ID を入力します。

    ID には数字、英字、ハイフン、アンダースコアのみを使用できます。

  4. [リージョン] プルダウン リストで、リポジトリとそのコンテンツを保存する Dataform リージョンを選択します。自分の場所に最も近い Dataform リージョンを選択します。

    使用可能な Dataform リージョンの一覧については、ロケーションをご覧ください。リポジトリ リージョンは、BigQuery データセットのロケーションと一致する必要はありません。

    workflow_settings.yaml ファイルで、Dataform がコードを処理して実行の出力を保存する処理リージョンを設定できます。処理リージョンは、BigQuery データセットのロケーションと一致する必要がありますが、リポジトリ リージョンと一致する必要はありません。詳細については、 Dataform の設定を構成するをご覧ください。

  5. [サービス アカウント] プルダウンで、リポジトリのサービス アカウントを選択します。

    プルダウンで、デフォルトの Dataform サービス アカウントまたはアクセス可能な Google Cloud プロジェクトに関連付けられた任意のサービス アカウントを選択できます。カスタム サービス アカウントはワークフローの実行にのみ使用されます。他のすべてのリポジトリ オペレーションは、引き続きデフォルトの Dataform サービス アカウントによって実行されます。

    1. 省略可: プルダウンに表示されていないサービス アカウントを選択するには、[手動で入力] をクリックして、サービス アカウント ID を入力します。
  6. 選択した暗号化メカニズムをリポジトリに構成します。

    デフォルトの CMEK 鍵

    Dataform には [デフォルトの KMS 鍵を使用する] チェックボックスが表示され、デフォルトでオンになっています。

    • デフォルトの Dataform CMEK 鍵でリポジトリを暗号化するには、[デフォルトの KMS 鍵を使用する] チェックボックスをオンのままにします。

    一意の CMEK 鍵

    一意の CMEK 鍵でリポジトリを暗号化するには、次の操作を行います。

    1. [デフォルトの KMS 鍵を使用する] チェックボックスがデフォルトでオンになっている場合は、チェックボックスをオフにします。
    2. [暗号化] セクションで、[顧客管理の暗号鍵(CMEK)] オプションを選択します。
    3. [顧客管理の暗号鍵を選択] プルダウンで、一意の CMEK 鍵を選択します。

    保存時の暗号化

    • デフォルトの暗号化を使用するには、[Encryption] セクションで [Google-managed encryption key] オプションを選択します。
  7. [作成]、[完了] の順にクリックします。

サービス アカウントを編集する

ワークフローを実行するためにカスタム サービス アカウントを Dataform リポジトリに関連付けることができます。他のすべてのリポジトリ オペレーションは、引き続きデフォルトの Dataform サービス アカウントによって実行されます。

Dataform リポジトリのサービス アカウントを編集する手順は次のとおりです。

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

    Dataform に移動

  2. リポジトリを選択し、[設定] をクリックします。

  3. [サービス アカウント] フィールドで、 [サービス アカウントを編集] をクリックします。

  4. [サービス アカウント] プルダウンで、リポジトリのサービス アカウントを選択します。

    プルダウンで、デフォルトの Dataform サービス アカウントまたはアクセス可能な Google Cloud プロジェクトに関連付けられた任意のサービス アカウントを選択できます。

    1. 省略可: プルダウンに表示されていないサービス アカウントを選択するには、[手動で入力] をクリックして、サービス アカウント ID を入力します。
  5. [保存] をクリックします。

リポジトリを削除する

リポジトリとそのすべてのコンテンツを削除するには、次の手順を行います。

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

    Dataform に移動

  2. 削除するリポジトリで、 [その他] メニューをクリックし、[削除] を選択します。

  3. [リポジトリの削除] ウィンドウで、リポジトリの名前を入力して削除を確定します。

  4. [削除] をクリックします。

次のステップ