Git リポジトリを接続してワークフローを実行する

このクイックスタートでは、Dataform リポジトリを作成し、既存のサードパーティ Git リポジトリに接続して、ワークフローを実行する手順について説明します。Google Cloud コンソールと Dataform API を使用して、次のタスクを行います。

  • Dataform リポジトリを作成する
  • リポジトリを dataform-co/dataform-example-project-bigquery GitHub リポジトリに接続します。
  • 開発ワークスペースを作成して初期化する。
  • プロジェクトに新しいビューを追加します。
  • プロジェクトをコンパイルして、BigQuery でワークフローを実行します。

始める前に

  1. Google Cloud アカウントにログインします。 Google Cloudを初めて使用する場合は、 アカウントを作成して、実際のシナリオでの Google プロダクトのパフォーマンスを評価してください。新規のお客様には、ワークロードの実行、テスト、デプロイができる無料クレジット $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, Dataform, and Secret Manager 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, Dataform, and Secret Manager 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

必要なロール

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

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

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

Dataform リポジトリを作成する

リポジトリは、Dataform プロジェクトのメイン コンテナです。次のオプションのいずれかを選択します。

コンソール

  1. BigQuery の Dataform ページに移動します。

    Dataform に移動

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

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

    1. [リポジトリ ID] フィールドに「quickstart-repo」と入力します。
    2. [リージョン] リストで、リージョン(例: europe-west4)を選択します。
    3. [サービス アカウント] リストで、リポジトリのカスタム サービス アカウントを選択します。
    4. [作成] をクリックします。
    5. [リポジトリに移動] をクリックします。

Dataform リポジトリが正常に作成されました。次に、Dataform リポジトリをリモートの Git リポジトリに接続できます。

API

リポジトリを作成するには、projects.locations.repositories.create メソッドを使用します。次の情報を使用して API リクエストを実行します。

  • エンドポイント: POST https://dataform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/repositories
  • クエリ パラメータ: repositoryId=REPOSITORY_ID

または、ターミナルで次の curl コマンドを実行します。

curl -X POST \
  -H "Authorization: Bearer $(gcloud auth print-access-token)" \
  -H "Content-Type: application/json" \
  -d '{"serviceAccount": "SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com"}' \
  "https://dataform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/repositories?repositoryId=REPOSITORY_ID"

次のように置き換えます。

  • SERVICE_ACCOUNT_NAME: BigQuery ジョブの実行用に作成されたカスタム サービス アカウントの ID。
  • PROJECT_ID: Dataform リポジトリを作成するGoogle Cloud プロジェクトの一意の識別子。
  • LOCATION: リポジトリを作成する Google Cloud リージョン(europe-west4 など)。
  • REPOSITORY_ID: 新しい Dataform リポジトリの一意の識別子(例: quickstart-repo)。

Dataform リポジトリが正常に作成されました。次に、Dataform リポジトリをリモートの Git リポジトリに接続できます。

Git リポジトリに接続する

Dataform リポジトリをプロジェクトに接続するには、次のいずれかのオプションを選択します。

コンソール

  1. [Secret Manager] ページに移動します。

    Secret Manager に移動

  2. [シークレットの作成] をクリックします。

  3. [名前] フィールドに「dataform-git-token」と入力します。

  4. [シークレットの値] フィールドに、GitHub 個人アクセス トークン(PAT)を入力します。

    PAT の作成方法については、個人用アクセス トークンを管理するをご覧ください。

    組織のセキュリティ ポリシーに従って、トークンの有効期限を設定することをおすすめします。

  5. [シークレットの作成] をクリックします。

  6. シークレットの詳細ページで、[権限] タブをクリックし、[アクセスを許可] をクリックします。

  7. [新しいプリンシパル] フィールドに、Dataform サービス エージェント service-PROJECT_NUMBER@gcp-sa-dataform.iam.gserviceaccount.com を入力します。

    PROJECT_NUMBER は、使用するGoogle Cloud プロジェクト番号に置き換えます。プロジェクト番号を確認する方法については、プロジェクト名、番号、ID を確認するをご覧ください。

  8. [ロールを選択] フィールドで、[Secret Manager > Secret Manager Secret Accessor] を選択します。

  9. [保存] をクリックします。

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

    Dataform に移動

  11. quickstart-repo をクリックします。

  12. リポジトリ ページで、[設定] > [Git と接続] の順にクリックします。

  13. [リモート リポジトリへのリンク] ペインで、[HTTPS] を選択します。

  14. [リモートの Git リポジトリの URL] フィールドに「https://github.com/dataform-co/dataform-example-project-bigquery.git」と入力します。

  15. [デフォルトのリモート ブランチ名] フィールドに「master」と入力します。

  16. [シークレット] メニューで [dataform-git-token] を選択します。

  17. [リンク] をクリックします。

Dataform リポジトリをリモートの Git リポジトリに正常に接続し、必要な権限を付与しました。次に、開発ワークスペースを作成して初期化します。

API

  1. Git 個人用アクセス トークンを保存するには、projects.secrets.create メソッドを使用して Secret Manager にシークレットを作成します。次の情報を使用して API リクエストを実行します。

    • エンドポイント: POST https://secretmanager.googleapis.com/v1/projects/PROJECT_ID/secrets
    • クエリ パラメータ: secretId=dataform-git-token
    • 本文:

      {
        "replication": {
          "automatic": {}
        }
      }
      

    または、ターミナルで次の curl コマンドを実行します。

    curl -X POST \
      -H "Authorization: Bearer $(gcloud auth print-access-token)" \
      -H "Content-Type: application/json" \
      -d '{
        "replication": {
          "automatic": {}
        }
      }' \
      "https://secretmanager.googleapis.com/v1/projects/PROJECT_ID/secrets?secretId=dataform-git-token"
    
  2. GitHub 個人アクセス トークン(PAT)を含むシークレットにバージョンを追加します。PAT の作成方法については、個人用アクセス トークンの管理をご覧ください。組織のセキュリティ ポリシーに従って、トークンの有効期限を設定することをおすすめします。

    シークレット バージョンを追加するには、projects.secrets.addVersion メソッドを使用します。次の情報を使用して API リクエストを実行します。

    • エンドポイント: POST https://secretmanager.googleapis.com/v1/projects/PROJECT_ID/secrets/dataform-git-token:addVersion
    • 本文:

      {
        "payload": {
          "data": "GITHUB_PAT"
        }
      }
      

    または、ターミナルで次の curl コマンドを実行します。

    curl -X POST \
      -H "Authorization: Bearer $(gcloud auth print-access-token)" \
      -H "Content-Type: application/json" \
      -d '{
        "payload": {
          "data": "$(echo -n "GITHUB_PAT" | base64)"
        }
      }' \
      "https://secretmanager.googleapis.com/v1/projects/PROJECT_ID/secrets/dataform-git-token:addVersion"
    

    GITHUB_PAT は、GitHub の個人用アクセス トークンに置き換えます。curl コマンドは、リクエストを送信する前に PAT を Base64 でエンコードされた文字列に自動的に変換します。

  3. Dataform がシークレットにアクセスできるようにするには、Dataform サービス エージェントに Secret Manager のシークレット アクセサーのロールroles/secretmanager.secretAccessor)を付与します。ロールを付与するには、次のいずれかのオプションを選択します。

    gcloud

    gcloud secrets add-iam-policy-binding コマンドを実行します。

    gcloud secrets add-iam-policy-binding dataform-git-token \
        --member="serviceAccount:service-PROJECT_NUMBER@gcp-sa-dataform.iam.gserviceaccount.com" \
        --role="roles/secretmanager.secretAccessor"
    

    PROJECT_NUMBER は、使用するGoogle Cloud プロジェクト番号に置き換えます。プロジェクト番号を確認する方法については、プロジェクト名、番号、ID を確認するをご覧ください。

    Secret Manager API

    projects.secrets.setIamPolicy メソッドを使用します。次の情報を使用して API リクエストを実行します。

    • エンドポイント: POST https://secretmanager.googleapis.com/v1/projects/PROJECT_ID/secrets/dataform-git-token:setIamPolicy
    • 本文:

      {
        "policy": {
          "bindings": [
            {
              "role": "roles/secretmanager.secretAccessor",
              "members": [
                "serviceAccount:service-PROJECT_NUMBER@gcp-sa-dataform.iam.gserviceaccount.com"
              ]
            }
          ]
        }
      }
      

    または、ターミナルで次の curl コマンドを実行します。

    curl -X POST \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    -H "Content-Type: application/json" \
    -d '{
      "policy": {
        "bindings": [
          {
            "role": "roles/secretmanager.secretAccessor",
            "members": [
              "serviceAccount:service-PROJECT_NUMBER@gcp-sa-dataform.iam.gserviceaccount.com"
            ]
          }
        ]
      }
    }' \
    "https://secretmanager.googleapis.com/v1/projects/PROJECT_ID/secrets/dataform-git-token:setIamPolicy"
    

    PROJECT_NUMBER は、使用するGoogle Cloud プロジェクト番号に置き換えます。プロジェクト番号を確認する方法については、プロジェクト名、番号、ID を確認するをご覧ください。

  4. リポジトリをリモートの Git リポジトリに接続するには、projects.locations.repositories.patch メソッドを使用します。次の情報を使用して API リクエストを実行します。

    • エンドポイント: PATCH https://dataform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/repositories/REPOSITORY_ID
    • クエリ パラメータ: updateMask=gitRemoteSettings

    または、ターミナルで次の curl コマンドを実行します。

    curl -X PATCH \
      -H "Authorization: Bearer $(gcloud auth print-access-token)" \
      -H "Content-Type: application/json" \
      -d '{
        "gitRemoteSettings": {
          "url": "https://github.com/dataform-co/dataform-example-project-bigquery.git",
          "defaultBranch": "master",
          "authenticationTokenSecretVersion": "projects/PROJECT_ID/secrets/dataform-git-token/versions/1"
        }
      }' \
      "https://dataform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/repositories/REPOSITORY_ID?updateMask=gitRemoteSettings"
    

Dataform リポジトリをリモートの Git リポジトリに正常に接続し、必要な権限を付与しました。次に、開発ワークスペースを作成して初期化します。

開発ワークスペースを作成して初期化する

ワークスペースは、分離された開発環境です。ワークスペースを作成して初期化するには、次のいずれかのオプションを選択します。

コンソール

  1. BigQuery の Dataform ページに移動します。

    Dataform に移動

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

  3. リポジトリで、[開発ワークスペース] タブに移動します。

  4. [ 開発ワークスペースを作成] をクリックします。

  5. [ワークスペース ID] フィールドに「dev-workspace」と入力します。

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

  7. [開発ワークスペース] タブで、dev-workspace ワークスペースを選択します。

開発ワークスペースが正常に作成され、初期化されました。次に、ワークフロー設定を構成します。

API

ワークスペースを作成するには、projects.locations.repositories.workspaces.create メソッドを使用します。次の情報を使用して API リクエストを実行します。

  • エンドポイント: POST https://dataform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/repositories/REPOSITORY_ID/workspaces
  • クエリ パラメータ: workspaceId=WORKSPACE_ID

または、ターミナルで次の curl コマンドを実行します。

curl -X POST \
  -H "Authorization: Bearer $(gcloud auth print-access-token)" \
  -H "Content-Type: application/json" \
  -d "{}" \
  "https://dataform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/repositories/REPOSITORY_ID/workspaces?workspaceId=WORKSPACE_ID"

WORKSPACE_ID は、新しい Dataform 開発ワークスペースの一意の識別子(dev-workspace など)に置き換えます。

開発ワークスペースが正常に作成され、初期化されました。次に、ワークフロー設定を構成します。

ワークフローの設定を構成する

このセクションでは、workflow_settings.yaml ファイルのプロジェクト ID を更新して、Dataform がGoogle Cloud プロジェクトでワークフローを実行するようにします。ワークフロー設定を構成するには、次のいずれかのオプションを選択します。

コンソール

  1. BigQuery の Dataform ページに移動します。

    Dataform に移動

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

  3. リポジトリで、[開発ワークスペース] タブに移動し、[dev-workspace] をクリックします。

  4. [ファイル] ペインで、[workflow_settings.yaml] を選択します。

  5. ファイルで、defaultProject の値をプロジェクト ID に置き換えます。

    ファイルは自動的に保存されます。

ワークフローの設定が更新されました。次に、プロジェクトに新しいソース宣言を追加できます。

API

  1. workflow_settings.yaml という名前のローカル ファイルを作成し、次の構成をファイルに貼り付けます。

    defaultProject: PROJECT_ID
    defaultDataset: dataform
    dataformCoreVersion: CORE_VERSION
    

    CORE_VERSION は、Dataform コアの最新の安定版(ベータ版以外)に置き換えます(例: 3.0.43)。最新バージョンは、リリースに記載されています。

  2. ターミナルで、ファイルの内容を Base64 文字列にエンコードします。

    base64 -w 0 workflow_settings.yaml
    
  3. この手順で後ほど代替の curl コマンドを使用する場合は、結果の出力文字列をコピーして SETTINGS_DEFINITION プレースホルダで使用します。

  4. ワークフロー設定を更新するには、projects.locations.repositories.workspaces.writeFile メソッドを使用します。次の情報を使用して API リクエストを実行します。

    • エンドポイント: POST https://dataform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/repositories/REPOSITORY_ID/workspaces/WORKSPACE_ID:writeFile

    または、ターミナルで次の curl コマンドを実行します。

    curl -X POST \
      -H "Authorization: Bearer $(gcloud auth print-access-token)" \
      -H "Content-Type: application/json" \
      -d '{
        "path": "workflow_settings.yaml",
        "contents": "SETTINGS_DEFINITION"
      }' \
      "https://dataform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/repositories/REPOSITORY_ID/workspaces/WORKSPACE_ID:writeFile"
    

    SETTINGS_DEFINITION は、YAML ファイルのコンテンツを Base64 でエンコードされた文字列に置き換えます。

ワークフローの設定が更新されました。次に、プロジェクトに新しいソース宣言を追加できます。

ソースを作成します

このセクションでは、既存の BigQuery データセットを定義する新しい SQLX ソース宣言をプロジェクトに追加します。これにより、Dataform はワークフローでデータソースとして参照できるようになります。新しいソースを作成するには、次のいずれかのオプションを選択します。

コンソール

  1. BigQuery の Dataform ページに移動します。

    Dataform に移動

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

  3. リポジトリで、[開発ワークスペース] タブに移動し、[dev-workspace] をクリックします。

  4. [ファイル] ペインで、[definitions] フォルダを選択します。

  5. [その他のファイル操作] > [ファイルを作成] をクリックします。

  6. [ファイルパスを追加] フィールドに「definitions/sources/tags.sqlx」と入力します。

  7. [ファイルを作成] をクリックします。

  8. 新しい definitions/sources/tags.sqlx ファイルの SQL エディタに、次のコードを貼り付けます。

    config {
      type: "declaration",
      database: "bigquery-public-data",
      schema: "stackoverflow",
      name: "tags"
    }
    

ソース宣言が正常に作成されました。次に、プロジェクトに新しいビューを追加できます。

API

  1. tags.sqlx という名前のローカル ファイルを作成します。
  2. 次のコードを tags.sqlx ファイルに貼り付けます。

    config {
      type: "declaration",
      database: "bigquery-public-data",
      schema: "stackoverflow",
      name: "tags"
    }
    
  3. ターミナルで、ファイルの内容を 1 つの連続した文字列にエンコードします。

    base64 -w 0 tags.sqlx
    
  4. この手順で後ほど代替の curl コマンドを使用する場合は、結果の出力文字列をコピーして SOURCE_DEFINITION プレースホルダで使用します。

  5. ワークスペースにソース宣言ファイルを作成するには、projects.locations.repositories.workspaces.writeFile メソッドを使用します。次の情報を使用して API リクエストを実行します。

    • エンドポイント: POST https://dataform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/repositories/REPOSITORY_ID/workspaces/WORKSPACE_ID:writeFile

    または、ターミナルで次の curl コマンドを実行します。

    curl -X POST \
      -H "Authorization: Bearer $(gcloud auth print-access-token)" \
      -H "Content-Type: application/json" \
      -d '{
        "path": "definitions/sources/tags.sqlx",
        "contents": "SOURCE_DEFINITION"
      }' \
      "https://dataform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/repositories/REPOSITORY_ID/workspaces/WORKSPACE_ID:writeFile"
    

    SOURCE_DEFINITION は、Base64 でエンコードされた文字列としての SQLX ファイルの内容に置き換えます。

ソース宣言が正常に作成されました。次に、プロジェクトに新しいビューを追加できます。

ビューを作成する

このセクションでは、ビューを定義する新しい SQLX ファイルをプロジェクトに追加します。新しいビューを作成するには、次のいずれかのオプションを選択します。

コンソール

  1. BigQuery の Dataform ページに移動します。

    Dataform に移動

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

  3. リポジトリで、[開発ワークスペース] タブに移動し、[dev-workspace] をクリックします。

  4. [ファイル] ペインで、[definitions] フォルダを選択します。

  5. [その他のファイル操作] > [ファイルを作成] をクリックします。

  6. [ファイルパスを追加] フィールドに「definitions/top_question_tags.sqlx」と入力します。

  7. [ファイルを作成] をクリックします。

  8. 新しい definitions/top_question_tags.sqlx ファイルの SQL エディタに、次のコードを貼り付けます。

    config {
      type: "view",
      name: "top_question_tags",
      tags: ["daily"],
      schema: "reporting",
    }
    
    select
        tag_name,
        count
    from ${ref("tags")}
    order by count desc
    limit 100
    

ビューが正常に作成されました。次に、プロジェクトをコンパイルできます。

API

  1. top_question_tags.sqlx という名前のローカル ファイルを作成します。
  2. 次のコードを top_question_tags.sqlx ファイルに貼り付けます。

    config {
      type: "view",
      name: "top_question_tags",
      tags: ["daily"],
      schema: "reporting",
    }
    
    select
        tag_name,
        count
    from ${ref("tags")}
    order by count desc
    limit 100
    
  3. ターミナルで、ファイルの内容を 1 つの連続した文字列にエンコードします。

    base64 -w 0 top_question_tags.sqlx
    
  4. この手順で後ほど代替の curl コマンドを使用する場合は、結果の出力文字列をコピーして VIEW_DEFINITION プレースホルダで使用します。

  5. ワークスペースにビュー定義ファイルを作成するには、projects.locations.repositories.workspaces.writeFile メソッドを使用します。次の情報を使用して API リクエストを実行します。

    • エンドポイント: POST https://dataform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/repositories/REPOSITORY_ID/workspaces/WORKSPACE_ID:writeFile

    または、ターミナルで次の curl コマンドを実行します。

    curl -X POST \
      -H "Authorization: Bearer $(gcloud auth print-access-token)" \
      -H "Content-Type: application/json" \
      -d '{
        "path": "definitions/top_question_tags.sqlx",
        "contents": "VIEW_DEFINITION"
      }' \
      "https://dataform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/repositories/REPOSITORY_ID/workspaces/WORKSPACE_ID:writeFile"
    

    VIEW_DEFINITION は、SQLX ファイルの内容を Base64 でエンコードされた文字列に置き換えます。

ビューが正常に作成されました。次に、プロジェクトをコンパイルできます。

プロジェクトをコンパイルする

コンパイルでは、SQLX ファイルが純粋な SQL 実行グラフに変換されます。プロジェクトをコンパイルするには、次のいずれかのオプションを選択します。

コンソール

Google Cloud コンソールはプロジェクトを自動的にコンパイルします。コンパイルは、ワークスペースの [コンパイル済みグラフ] タブで確認できます。

プロジェクトのコンパイルが正常に完了し、実行グラフが検証されました。次に、BigQuery でワークフローを実行します。

API

  1. ワークスペースに基づいてコンパイル結果を作成するには、projects.locations.repositories.compilationResults.create メソッドを使用します。次の情報を使用して API リクエストを実行します。

    • エンドポイント: POST https://dataform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/repositories/REPOSITORY_ID/compilationResults

    または、ターミナルで次の curl コマンドを実行します。

    curl -X POST \
      -H "Authorization: Bearer $(gcloud auth print-access-token)" \
      -H "Content-Type: application/json" \
      -d '{
        "workspace": "projects/PROJECT_ID/locations/LOCATION/repositories/REPOSITORY_ID/workspaces/WORKSPACE_ID"
      }' \
      "https://dataform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/repositories/REPOSITORY_ID/compilationResults"
    
  2. プロジェクトが正常にコンパイルされたことを確認するには、projects.locations.repositories.compilationResults.get メソッドを使用します。次の情報を使用して API リクエストを実行します。

    • エンドポイント: GET https://dataform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/repositories/REPOSITORY_ID/compilationResults/COMPILATION_ID

    または、ターミナルで次の curl コマンドを実行します。

    curl -H "Authorization: Bearer $(gcloud auth print-access-token)" \
      "https://dataform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/repositories/REPOSITORY_ID/compilationResults/COMPILATION_ID"
    

    COMPILATION_ID は、コンパイル結果の一意の識別子に置き換えます。この ID は、前のステップのコンパイル リクエストのレスポンスで提供されます。

  3. レスポンスで、compilationErrors フィールドを確認します。リストが空の場合、プロジェクトは正常にコンパイルされています。

プロジェクトのコンパイルが正常に完了し、実行グラフが検証されました。次に、BigQuery でワークフローを実行します。

ワークフローを実行する

BigQuery でワークフローの実行をトリガーするには、次のいずれかのオプションを選択します。

コンソール

  1. BigQuery の Dataform ページに移動します。

    Dataform に移動

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

  3. リポジトリで、[開発ワークスペース] タブに移動し、[dev-workspace] をクリックします。

  4. ツールバーで、[実行を開始> アクションを実行] をクリックします。

  5. [すべてのアクション] を選択します。

  6. [実行を開始] をクリックします。

ワークフローが正常に実行されました。

API

ワークフローの呼び出しをトリガーするには、projects.locations.repositories.workflowInvocations.create メソッドを使用します。次の情報を使用して API リクエストを実行します。

  • エンドポイント: POST https://dataform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/repositories/REPOSITORY_ID/workflowInvocations

または、ターミナルで次の curl コマンドを実行します。

curl -X POST \
  -H "Authorization: Bearer $(gcloud auth print-access-token)" \
  -H "Content-Type: application/json" \
  -d '{
    "compilationResult": "projects/PROJECT_ID/locations/LOCATION/repositories/REPOSITORY_ID/compilationResults/COMPILATION_ID"
  }' \
  "https://dataform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/repositories/REPOSITORY_ID/workflowInvocations"

ワークフローが正常に実行されました。

クリーンアップ

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

BigQuery データセットを削除する

BigQuery アセットの料金が発生しないようにするには、このワークフローで作成されたデータセット(reportingstaging などの名前のデータセット)を削除します。

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

    [BigQuery] に移動

  2. [エクスプローラ] パネルでプロジェクトを開いて、データセットを選択します。

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

  4. [データセットの削除] ダイアログで、フィールドに「delete」と入力してから、[削除] をクリックします。

Secret Manager シークレットを削除する

セキュリティ リソースをクリーンアップするには、Git 接続に使用したシークレットを削除します。

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

    Secret Manager に移動

  2. dataform-git-token シークレットを選択します。

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

  4. 確認ダイアログで、シークレット名を入力して確定し、[削除] をクリックします。

Dataform 開発ワークスペースを削除する

Dataform 開発ワークスペースの作成に費用はかかりませんが、開発ワークスペースを削除する手順は次のとおりです。

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

    Dataform に移動

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

  3. [開発ワークスペース] タブで、dev-workspace によって [その他] メニューをクリックし、[削除] を選択します。

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

Dataform リポジトリを削除する

Dataform リポジトリの作成に費用はかかりませんが、リポジトリを削除する手順は次のとおりです。

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

    Dataform に移動

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

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

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

次のステップ