開発環境を作成する
このクイックスタートでは、Dataform で個々の開発環境を作成し、各デベロッパーが独自の開発環境で作業できるようにする手順について説明します。
- Dataform リポジトリを作成します。
Dataform に BigQuery へのアクセス権を付与します。
Dataform によってリポジトリ内のすべてのワークスペースに適用されるコンパイルのオーバーライドを構成し、ワークスペースを分離された開発環境に変換します。
始める前に
- 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.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator
(
roles/resourcemanager.projectCreator
), which contains theresourcemanager.projects.create
permission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
-
Enable the BigQuery and Dataform APIs.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin
), which contains theserviceusage.services.enable
permission. Learn how to grant roles. -
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator
(
roles/resourcemanager.projectCreator
), which contains theresourcemanager.projects.create
permission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
-
Enable the BigQuery and Dataform APIs.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin
), which contains theserviceusage.services.enable
permission. Learn how to grant roles. -
Dataform 管理者(
roles/dataform.admin
)- リポジトリ -
Dataform 編集者(
roles/dataform.editor
)- ワークスペースとワークフロー呼び出し Google Cloud コンソールで、[Dataform] ページに移動します。
[リポジトリを作成] をクリックします。
[リポジトリの作成] ページで、次の操作を行います。
[リポジトリ ID] フィールドに「
quickstart-dev
」と入力します。[リージョン] リストで
europe-west4
を選択します。[作成] をクリックします。
[完了] をクリックします。
- Dataform が読み取りと書き込みの両方のアクセス権を必要とするプロジェクトに対する BigQuery データ編集者。 通常は、Dataform リポジトリをホストするプロジェクトが含まれます。
- Dataform が読み取り専用アクセス権を必要とするプロジェクトに対する BigQuery データ閲覧者。
- Dataform リポジトリをホストするプロジェクトに対する BigQuery ジョブユーザー。
Google Cloud コンソールで、[IAM] ページに移動します。
[追加] をクリックします。
[新しいプリンシパル] フィールドに、Dataform サービス エージェント ID、サービス アカウント ID、または Google アカウントのメールアドレス(プレビュー)を入力します。
[ロールを選択] メニューで、[BigQuery ジョブユーザー] ロールを選択します。
[別のロールを追加] をクリックし、[ロールを選択] メニューで [BigQuery データ編集者] ロールを選択します。
[別のロールを追加] をクリックし、[ロールを選択] メニューで [BigQuery データ閲覧者] ロールを選択します。
[保存] をクリックします。
Google Cloud コンソールで、[Dataform] ページに移動します。
[
quickstart-dev
] をクリックします。[設定]をクリックしてから、[編集] をクリックします。
[ワークスペース コンパイル オーバーライド] ペインで、[スキーマ サフィックス] フィールドに「
${workspaceName}
」と入力します。ワークスペースで実行をトリガーすると、Dataform は ワークフロー設定で設定されたデフォルトのスキーマにワークスペースの名前を接尾辞として追加します。このクイックスタートではデフォルトの Dataform 設定を使用し、
dataform
デフォルト スキーマを使用します。[保存] をクリックします。
Google Cloud コンソールで、[BigQuery] ページに移動します。
[エクスプローラ] パネルでプロジェクトを開いて、データセットを選択します。
[アクション] メニューをクリックして、[削除] を選択します。
[データセットを削除する] ダイアログで、フィールドに「
delete
」と入力してから、[削除] をクリックします。Google Cloud コンソールで、[Dataform] ページに移動します。
quickstart-dev
から、 [その他] メニューをクリックし、[削除] を選択します。- [リポジトリの削除] ウィンドウで、リポジトリの名前を入力して削除を確定します。
[削除] をクリックして確定します。
Dataform のコード ライフサイクルの詳細については、Dataform のコード ライフサイクルの概要をご覧ください。
Dataform のワークフロー ライフサイクルのベスト プラクティスの詳細については、ワークフロー ライフサイクルのベスト プラクティスをご覧ください。
Dataform でのワークスペースのコンパイル オーバーライドの詳細については、ワークスペースのコンパイル オーバーライドの作成をご覧ください。
Dataform で本番環境実行のスケジュールを設定する方法については、本番環境実行のスケジュールをご覧ください。
必要なロール
このチュートリアルのすべてのタスクを実行するために必要な権限を取得するには、プロジェクトに対して次の IAM ロールを付与するよう管理者に依頼してください。
ロールの付与については、プロジェクト、フォルダ、組織へのアクセス権の管理をご覧ください。
必要な権限は、カスタムロールや他の事前定義ロールから取得することもできます。
Dataform リポジトリを作成する
Dataform に BigQuery へのアクセス権を付与する
BigQuery でワークフローを実行するには、Dataform サービス エージェント、カスタム サービス アカウント、または Google アカウント(プレビュー)に次のロールが必要です。
これらのロールを付与するには、次の手順に沿って操作します。
ワークスペース コンパイルのオーバーライドを構成する
Dataform ワークスペースのコンパイル オーバーライドを使用して、分離された開発環境を作成するには、次の操作を行います。
Dataform は、リポジトリ内のすべてのワークスペースにワークスペース コンパイル オーバーライドを適用します。
この構成では、ワークスペースでワークフローを手動で実行すると、Dataform はこれをワークスペースのコンパイル オーバーライドで実行します。この結果、Dataform は BigQuery の dataform_workspaceName
スキーマでワークフローを実行し、ワークスペースを隔離された開発環境に変換します。
たとえば、sasha
ワークスペースで手動で実行をトリガーすると、Dataform は BigQuery の dataform_sasha
スキーマでワークフローを実行します。
ワークフローをワークスペースのコンパイル オーバーライドなしで実行し、かつ、開発環境にワークスペースのコンパイル オーバーライドを保持するには、他の実行環境(staging
や production
など)を構成するリリース構成を作成します。
クリーンアップ
このページで使用したリソースについて、 Google Cloud アカウントに課金されないようにするには、次の手順を実施します。
BigQuery で作成したデータセットを削除する
BigQuery アセットの料金が発生しないようにするには、dataform
で始まる名前のデータセット(dataform-sasha
など)を削除します。
Dataform リポジトリの削除
Dataform リポジトリの作成に伴う費用は発生しません。 ただし、リポジトリとそのすべてのコンテンツを削除するには、次の手順を行います。