このドキュメントでは、Dataform のリポジトリのコンセプトと、新しいリポジトリを作成する方法について説明します。
Dataform リポジトリについて
各 Dataform リポジトリには、ワークフローを構成する SQLX と JavaScript ファイルのコレクション、Dataform 構成ファイルとパッケージが格納されています。リポジトリ内のファイルは開発ワークスペースで操作します。
Dataform では、リポジトリは [Dataform] ページでリポジトリ ID のアルファベット順に表示され、並べ替えとフィルタリングを行えます。
リポジトリを表示するには、Google Cloud コンソールで [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 に接続できます。
始める前に
- 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.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the BigQuery and Dataform APIs.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the BigQuery and Dataform APIs.
- リポジトリで CMEK 暗号化を使用するには、Dataform リポジトリの CMEK 暗号化を有効にする。
必要なロール
リポジトリの作成と削除に必要な権限を取得するには、リポジトリに対する Dataform 管理者 (roles/dataform.admin
)IAM ロールの付与を管理者に依頼してください。ロールの付与については、プロジェクト、フォルダ、組織へのアクセスを管理するをご覧ください。
必要な権限は、カスタムロールや他の事前定義ロールから取得することもできます。
デフォルトの Dataform サービス アカウント以外のサービス アカウントを使用するには、カスタム サービス アカウントへのアクセス権を付与します。
Dataform リポジトリを作成すると、そのリポジトリに対する Dataform 管理者ロールが自動的に付与されます。
リポジトリを作成する
Dataform リポジトリを作成する手順は次のとおりです。
Google Cloud コンソールの [Dataform] ページに移動します。
[リポジトリを作成] をクリックします。
[リポジトリを作成] ページの [リポジトリ ID] フィールドに一意の ID を入力します。
ID には数字、英字、ハイフン、アンダースコアのみを使用できます。
[リージョン] プルダウン リストで、リポジトリとそのコンテンツを保存する Dataform リージョンを選択します。自分の場所に最も近い Dataform リージョンを選択します。
使用可能な Dataform リージョンの一覧については、ロケーションをご覧ください。リポジトリ リージョンは、BigQuery データセットのロケーションと一致する必要はありません。
workflow_settings.yaml
ファイルで、Dataform がコードを処理して実行の出力を保存する処理リージョンを設定できます。処理リージョンは、BigQuery データセットのロケーションと一致する必要がありますが、リポジトリ リージョンと一致する必要はありません。詳細については、 Dataform の設定を構成するをご覧ください。[サービス アカウント] プルダウンで、リポジトリのサービス アカウントを選択します。
プルダウンで、デフォルトの Dataform サービス アカウントまたはアクセス可能な Google Cloud プロジェクトに関連付けられた任意のサービス アカウントを選択できます。カスタム サービス アカウントはワークフローの実行にのみ使用されます。他のすべてのリポジトリ オペレーションは、引き続きデフォルトの Dataform サービス アカウントによって実行されます。
- 省略可: プルダウンに表示されていないサービス アカウントを選択するには、[手動で入力] をクリックして、サービス アカウント ID を入力します。
選択した暗号化メカニズムをリポジトリに構成します。
デフォルトの CMEK 鍵
Dataform には [デフォルトの KMS 鍵を使用する] チェックボックスが表示され、デフォルトでオンになっています。
- デフォルトの Dataform CMEK 鍵でリポジトリを暗号化するには、[デフォルトの KMS 鍵を使用する] チェックボックスをオンのままにします。
一意の CMEK 鍵
一意の CMEK 鍵でリポジトリを暗号化するには、次の操作を行います。
- [デフォルトの KMS 鍵を使用する] チェックボックスがデフォルトでオンになっている場合は、チェックボックスをオフにします。
- [暗号化] セクションで、[顧客管理の暗号鍵(CMEK)] オプションを選択します。
- [顧客管理の暗号鍵を選択] プルダウンで、一意の CMEK 鍵を選択します。
保存時の暗号化
- デフォルトの暗号化を使用するには、[Encryption] セクションで [Google-managed encryption key] オプションを選択します。
[作成]、[完了] の順にクリックします。
サービス アカウントを編集する
ワークフローを実行するためにカスタム サービス アカウントを Dataform リポジトリに関連付けることができます。他のすべてのリポジトリ オペレーションは、引き続きデフォルトの Dataform サービス アカウントによって実行されます。
Dataform リポジトリのサービス アカウントを編集する手順は次のとおりです。
Google Cloud コンソールの [Dataform] ページに移動します。
リポジトリを選択し、[設定] をクリックします。
[サービス アカウント] フィールドで、
[サービス アカウントを編集] をクリックします。[サービス アカウント] プルダウンで、リポジトリのサービス アカウントを選択します。
プルダウンで、デフォルトの Dataform サービス アカウントまたはアクセス可能な Google Cloud プロジェクトに関連付けられた任意のサービス アカウントを選択できます。
- 省略可: プルダウンに表示されていないサービス アカウントを選択するには、[手動で入力] をクリックして、サービス アカウント ID を入力します。
[保存] をクリックします。
リポジトリを削除する
リポジトリとそのすべてのコンテンツを削除するには、次の手順を行います。
Google Cloud コンソールの [Dataform] ページに移動します。
削除するリポジトリで、
[その他] メニューをクリックし、[削除] を選択します。[リポジトリの削除] ウィンドウで、リポジトリの名前を入力して削除を確定します。
[削除] をクリックします。
次のステップ
- Dataform リポジトリをサードパーティの Git リポジトリに接続する方法については、サードパーティの Git リポジトリに接続するをご覧ください。
- リポジトリ サイズが Dataform での開発に与える影響については、リポジトリ サイズの概要をご覧ください。
- Dataform でリポジトリを分割する方法については、リポジトリの分割の概要をご覧ください。
- Dataform の処理設定の構成方法については、Dataform の設定を構成するをご覧ください。
- ワークスペースを作成して初期化する方法については、ワークスペースを作成するをご覧ください。