開発環境を作成する
このクイックスタートでは、Dataform で個別の開発環境を作成する手順について説明します。これにより、各デベロッパーが独自の開発環境で作業できるようになります。
- Dataform リポジトリの作成
- 必要なロールを付与する。
-
Dataform によってリポジトリ内のすべてのワークスペースに適用されるコンパイルのオーバーライドを構成し、ワークスペースを分離された開発環境に変換します。
始める前に
- アカウントにログインします。 Google Cloud を初めて使用する場合は、 アカウントを作成して、実際のシナリオで Google プロダクトのパフォーマンスを評価してください。 Google Cloud新規のお客様には、ワークロードの実行、テスト、デプロイができる無料クレジット $300 分を差し上げます。
-
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 role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. 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.enablepermission. 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 role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. 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.enablepermission. Learn how to grant roles.
また、カスタム サービス アカウントを使用して BigQuery でワークフローを実行する場合は、 カスタム サービス アカウントを選択または作成します。
必要なロール
このクイックスタートのすべてのタスクに必要な権限を取得するには、次の IAM ロールを付与するよう管理者に依頼してください。
-
Dataform 管理者 (
roles/dataform.admin)リポジトリに対する -
カスタム サービス アカウントに対する サービス アカウント ユーザー(
roles/iam.serviceAccountUser) -
プロジェクト IAM 管理者 (
roles/resourcemanager.projectIamAdmin)プロジェクトに対する
ロールの付与については、プロジェクト、フォルダ、組織へのアクセス権の管理をご覧ください。
必要なロールを付与する
BigQuery でワークフローを実行するには、カスタム サービス アカウントまたは Google アカウントを使用できます。
カスタム サービス アカウントには、次の必要なロールが必要です。
- BigQuery データ編集者
(
roles/bigquery.dataEditor) Dataform が読み取りと書き込みの両方のアクセス権を必要とするプロジェクトまたは特定の BigQuery データセットに対する通常は、Dataform リポジトリをホストするプロジェクトが含まれます。 - BigQuery データ閲覧者
(
roles/bigquery.dataViewer) (Dataform が読み取り専用アクセス権を必要とするプロジェクトまたは特定の BigQuery データセットに対する) - BigQuery ジョブユーザー
(
roles/bigquery.jobUser) Dataform リポジトリをホストするプロジェクトに対する。
Dataform でカスタム サービス アカウントを使用するには、デフォルトの Dataform サービス エージェントにカスタム サービス アカウント リソースに対する次のロールが必要です。
- サービス アカウント トークン作成者
(
roles/iam.serviceAccountTokenCreator) - サービス アカウント ユーザー
(
roles/iam.serviceAccountUser)
これらのロールを付与するには、次の手順に沿って操作します。
コンソールで、[IAM] ページに移動します。 Google Cloud
[アクセス権を付与] をクリックします。
[新しいプリンシパル] フィールドに、カスタム サービス アカウント ID を入力します。
[ロールを選択] メニューで、次のロールを 1 つずつ選択します。追加のロールごとに [別のロールを追加] を使用します。
- BigQuery データ編集者
- BigQuery データ閲覧者
- BigQuery ジョブユーザー
[保存] をクリックします。
コンソールで、[**サービス アカウント**] ページに移動します。 Google Cloud
カスタム サービス アカウントを選択します。
[アクセス権を持つプリンシパル] に移動し、[アクセス権を付与] をクリックします。
[新しいプリンシパル] フィールドに、デフォルトの Dataform サービス エージェント ID を入力します。
デフォルトの Dataform サービス エージェント ID の形式は次のとおりです。
service-PROJECT_NUMBER@gcp-sa-dataform.iam.gserviceaccount.comPROJECT_NUMBERは、プロジェクトの数値 ID に置き換えます。Google Cloud プロジェクト ID は Google Cloud コンソール ダッシュボードで確認できます。 Google Cloud 詳細については、 プロジェクトの識別をご覧ください。[ロールを選択] リストで、次のロールを追加します。
- サービス アカウント ユーザー
- サービス アカウント トークン作成者
[保存] をクリックします。
ロールの付与の詳細については、 Dataform に必要なアクセス権を付与するをご覧ください。
Dataform リポジトリを作成する
コンソールで、[Dataform] ページに移動します。 Google Cloud
[ リポジトリを作成] をクリックします。
[リポジトリの作成] ページで、次の操作を行います。
[リポジトリ ID] フィールドに「
quickstart-dev」と入力します。[リージョン] リストで [
europe-west4] を選択します。[サービス アカウント] リストで、リポジトリのカスタム サービス アカウントを選択します。
[actAs 権限チェック] セクションで、リポジトリに対するユーザー アクションの権限チェックを適用します。
[作成] をクリックします。
[リポジトリに移動] をクリックします。
ワークスペース コンパイルのオーバーライドを構成する
Dataform ワークスペースのコンパイル オーバーライドを使用して、分離された開発環境を作成するには、次の操作を行います。
コンソールで、[Dataform] ページに移動します。 Google Cloud
[
quickstart-dev] をクリックします。[設定]をクリックしてから、[編集] をクリックします。
[ワークスペース コンパイル オーバーライド] ペインで、[スキーマ サフィックス] フィールドに「
${workspaceName}」と入力します。ワークスペースで実行をトリガーすると、Dataform はワークフロー設定で設定されたデフォルトのスキーマにワークスペースの名前を接尾辞として追加します。このクイックスタートではデフォルトの Dataform 設定を使用し、
dataformデフォルト スキーマを使用します。[保存] をクリックします。
Dataform は、リポジトリ内のすべてのワークスペースにワークスペース コンパイル オーバーライドを適用します。
この構成では、ワークスペースでワークフローを手動で実行すると、Dataform はワークスペースのコンパイル オーバーライドを使用して実行します。
この結果、Dataform は BigQuery の dataform_workspaceName スキーマでワークフローを実行し、
ワークスペースを隔離された開発環境に変換します。
たとえば、sasha ワークスペースで実行を手動でトリガーすると、
Dataform はdataform_sasha スキーマでワークフローを
BigQuery で実行します。
ワークフローをワークスペースのコンパイル オーバーライドなしで実行し、かつ、開発環境にワークスペースのコンパイル オーバーライドを保持するには、他の実行環境(staging や production など)を構成するリリース構成を作成します。
クリーンアップ
このページで使用したリソースについて、 Google Cloud アカウントに課金されないようにするには、 次の手順を実施します。
BigQuery で作成したデータセットを削除する
BigQuery アセットの料金が発生しないようにするには、データセット
(dataform で始まる名前のデータセット(dataform-sasha など))を削除します。
コンソールで、[BigQuery] ページに移動します。 Google Cloud
[エクスプローラ] パネルでプロジェクトを開いて、データセットを選択します。
[アクション] メニューをクリックして、[削除] を選択します。
[データセットを削除する] ダイアログで、フィールドに「
delete」と入力してから、[削除] をクリックします。
Dataform リポジトリの削除
Dataform リポジトリの作成に伴う費用は発生しません。 ただし、リポジトリとそのすべてのコンテンツを削除するには、次の手順を行います。
コンソールで、[Dataform] ページに移動します。 Google Cloud
quickstart-devから、[その他] メニューをクリックし、[削除] を選択します。- [リポジトリの削除] ウィンドウで、リポジトリの名前を入力して削除を確定します。
[削除] をクリックして確定します。
次のステップ
- サービス アカウントの詳細については、 カスタム サービス アカウントと Dataform サービス エージェントについてをご覧ください。
- Dataform のコード ライフサイクルの詳細については、 Dataform のコード ライフサイクルの概要をご覧ください。
- Dataform のワークフロー ライフサイクルのベスト プラクティスの詳細については、 ワークフロー ライフサイクルのベスト プラクティスをご覧ください。
- Dataform でのワークスペースのコンパイル オーバーライドの詳細については、 「 ワークスペースのコンパイル オーバーライドの作成」をご覧ください。
- Dataform で本番環境実行のスケジュールを設定する方法については、 本番環境実行のスケジュールをご覧ください。