本番環境の実行をスケジュールする

このクイックスタートでは、Dataform で本番環境の実行をスケジュールするための次の手順について説明します。

始める前に

  1. アカウントにログインします Google Cloud を初めて使用する場合は、 アカウントを作成して、実際のシナリオで Google プロダクトのパフォーマンスを評価してください。 Google Cloud新規のお客様には、ワークロードの実行、テスト、デプロイができる無料クレジット $300 分を差し上げます。
  2. 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 the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  3. Verify that billing is enabled for your Google Cloud project.

  4. 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 the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the APIs

  5. 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 the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  6. Verify that billing is enabled for your Google Cloud project.

  7. 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 the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the APIs

また、BigQuery でワークフローを実行する カスタム サービス アカウント を選択または作成します。

必要なロール

このクイックスタートのすべてのタスクに必要な権限を取得するには、次の IAM ロールを付与するよう管理者に依頼してください。

ロールの付与については、プロジェクト、フォルダ、組織へのアクセス権の管理をご覧ください。

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

必要なロールを付与する

BigQuery でワークフローを実行するには、カスタム サービス アカウントまたは Google アカウント (プレビュー)を使用します。 ただし、スケジュールされた実行のデフォルト オプションは、カスタム サービス アカウントの認証情報です。スケジュールされた実行には、Google アカウントのユーザー アカウントの認証情報を使用しないことをおすすめします。

カスタム サービス アカウントには、次の必要なロールが必要です。

  • BigQuery データ編集者roles/bigquery.dataEditor) Dataform が読み取りと書き込みの両方のアクセス権を必要とするプロジェクトまたは特定の BigQuery データセットに対する通常は、Dataform リポジトリをホストするプロジェクトが含まれます。
  • BigQuery データ閲覧者roles/bigquery.dataViewer) (Dataform が読み取り専用アクセス権を必要とするプロジェクトまたは特定の BigQuery データセットに対する)
  • BigQuery ジョブユーザー (roles/bigquery.jobUser) Dataform リポジトリをホストするプロジェクトに対する。

Dataform がカスタム サービス アカウントを使用できるようにするには、デフォルトの Dataform サービス エージェントにカスタム サービス アカウント リソースに対する次のロールが必要です。

これらのロールを付与するには、次の手順に沿って操作します。

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

    IAM に移動

  2. [アクセス権を付与] をクリックします。

  3. [新しいプリンシパル] フィールドに、カスタム サービス アカウント ID を入力します。

  4. [ロールを選択] メニューで、次のロールを 1 つずつ選択します。追加のロールごとに [別のロールを追加] を使用します。

    • BigQuery データ編集者
    • BigQuery データ閲覧者
    • BigQuery ジョブユーザー
  5. [保存] をクリックします。

  6. コンソールで、[**サービス アカウント**] ページに移動します。 Google Cloud

    [サービス アカウント] に移動

  7. カスタム サービス アカウントを選択します。

  8. [アクセス権を持つプリンシパル] に移動し、[アクセス権を付与] をクリックします。

  9. [新しいプリンシパル] フィールドに、デフォルトの Dataform サービス エージェント ID を入力します。

    デフォルトの Dataform サービス エージェント ID の形式は次のとおりです。

    service-PROJECT_NUMBER@gcp-sa-dataform.iam.gserviceaccount.com
    

    PROJECT_NUMBER は、プロジェクトの数値 ID に置き換えます。Google Cloud プロジェクト ID は Google Cloud コンソール ダッシュボードで確認できます。 Google Cloud 詳細については、 プロジェクトの識別をご覧ください。

  10. [ロールを選択] リストで、次のロールを追加します。

    • サービス アカウント ユーザー
    • サービス アカウント トークン作成者
  11. [保存] をクリックします。

ロールの付与の詳細については、 Dataform に必要なアクセス権を付与するをご覧ください。

Dataform リポジトリを作成する

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

    Dataform に移動

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

  3. [リポジトリの作成] ページで、次の操作を行います。

    1. [リポジトリ ID] フィールドに「quickstart-production」と入力します。

    2. [リージョン] リストで [europe-west4] を選択します。

    3. [サービス アカウント] リストで、リポジトリのカスタム サービス アカウントを選択します。

    4. [actAs 権限チェック] セクションで、リポジトリに対するユーザー アクションの権限チェックを適用します。

    5. [作成] をクリックします。

  4. [リポジトリに移動] をクリックします。

リリース構成とワークフロー構成を作成する

quickstart-production リポジトリのプロダクション コンパイル結果を作成し、production テーブルの実行をスケジュールする手順は次のとおりです。

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

    Dataform に移動

  2. quickstart-production をクリックします。

  3. [リリースとスケジュール] をクリックし、[製品版リリースの作成] をクリックします。

  4. [リリース構成を作成] ペインで、次の設定を構成します。

    1. [リリース ID] フィールドに「production」と入力します。
    2. [Git commitish] フィールドはデフォルト値の main のままにします。
    3. [スケジュールの頻度] セクションの [繰り返しの頻度] メニューで、[カスタム] を選択します。
    4. [カスタム スケジュール] フィールドに「0 16 * * *」と入力します。
    5. [タイムゾーン] メニューで、[中央ヨーロッパ標準時(CET)] などの UTC+1 タイムゾーンを選択します。

      毎日午後 4 時(UTC+1)に、Dataform は quickstart-production リポジトリをコンパイルし、このリリース構成で構成されたコンパイル設定 を適用して production コンパイル結果を作成します。

  5. [作成] をクリックします。

    production リリース構成では、毎日午後 4 時(UTC+1)に quickstart-production リポジトリ全体のコンパイル結果が作成されます。

  6. [リリースとスケジュール] タブが表示されていることを確認します。[ワークフロー構成] セクションに移動し、[作成] をクリックします。

  7. [ワークフロー構成を作成] ペインで、次の設定を構成します。

    1. [構成 ID] フィールドに「production」と入力します。
    2. [リリース構成] メニューで production を選択します。
    3. [スケジュールの頻度] セクションの [繰り返しの頻度] メニューで、[カスタム] を選択します。
    4. [カスタム スケジュール] フィールドに「0 17 * * *」と入力します。
    5. [タイムゾーン] メニューで、[中央ヨーロッパ標準時(CET)] などの UTC+1 タイムゾーンを選択します。

      毎日午後 5 時(UTC+1)に、Dataform は最新の production コンパイル結果を quickstart-production リポジトリで実行します。

    6. [すべてのアクション] をクリックします。

      Dataform は、production コンパイル結果のすべてのワークフロー アクションを実行します。

  8. [作成] をクリックします。

    production ワークフロー構成では、プロダクション リリース構成 によって毎日午後 5 時(UTC+1)に作成された最新 のコンパイル結果全体を実行します。

過去の production コンパイル結果を表示する

過去にスケジュールされた production コンパイル結果を表示する手順は次のとおりです。

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

    Dataform に移動

  2. quickstart-production リポジトリを選択します。

  3. [リリースとスケジュール] をクリックします。

  4. [リリース構成] セクションで、production をクリックします。

過去の production ワークフロー実行を表示する

過去の production ワークフロー実行を表示する手順は次のとおりです。

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

    Dataform に移動

  2. quickstart-production リポジトリを選択します。

  3. [ワークフローの実行ログ] をクリックします。

  4. ワークフローの実行を選択すると、各アクションのステータスやログなど、詳細情報を確認できます。

クリーンアップ

このページで使用したリソースについて、 Google Cloud アカウントに課金されないようにするには、 次の手順を実施します。

BigQuery で作成したデータセットを削除する

BigQuery アセットの料金が発生しないようにするには、次の手順で dataform_production というデータセットを削除します。

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

    BigQuery に移動

  2. [エクスプローラ] パネルでプロジェクトを開き、[dataform_production] を選択します。

  3. [アクション] メニューをクリックして、[削除] を選択します。

  4. データセットの削除のダイアログで「delete」と入力し、[ Delete ] をクリックします。

Dataform リリース構成を削除する

Dataform リリース構成の作成に伴う費用は発生しません。ただし、production リリース構成を削除する場合は、次の手順を行います。

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

    Dataform に移動

  2. quickstart-production をクリックします。

  3. [リリースとスケジュール] をクリックし、[リリース構成] セクションに移動します。

  4. production リリース構成の場合は、 [**その他**] メニューをクリックしてから [**削除**] をクリックします。

  5. [リリース構成の削除] ダイアログで、[削除] をクリックします。

Dataform ワークフロー構成を削除する

BigQuery アセットの料金が発生しないようにするには、次の手順で Dataform production ワークフロー構成を削除します。

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

    Dataform に移動

  2. quickstart-production をクリックします。

  3. [リリースとスケジュール] をクリックし、[ワークフロー構成] セクションに移動します。

  4. production ワークフロー構成で、 [その他] メニューをクリックして、[削除] をクリックします。

  5. [リリース構成の削除] ダイアログで、[削除] をクリックします。

Dataform リポジトリの削除

Dataform リポジトリの作成に伴う費用は発生しません。 ただし、リポジトリとそのすべてのコンテンツを削除するには、次の手順を行います。

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

    Dataform に移動

  2. quickstart-production から、[その他] メニューをクリックし、[削除] を選択します。

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

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

次のステップ