コンパイルを構成する

このドキュメントでは、Dataform で次の操作を行う方法について説明します。

始める前に

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

    Dataform に移動

  2. リポジトリを作成または選択します。

  3. 開発ワークスペースを作成または選択します。

  4. 省略可: リリース構成でデフォルトの Google Cloud プロジェクトをオーバーライドするには、使用する予定のプロジェクトに対する Dataform サービス エージェントまたはカスタム サービス アカウントのアクセス権を付与します。

必要なロール

このドキュメントのタスクを完了するために必要な権限を取得するには、リポジトリに対する Dataform 管理者 roles/dataform.admin)IAM ロールを付与するよう管理者に依頼してください。ロールの付与については、プロジェクト、フォルダ、組織に対するアクセス権の管理をご覧ください。

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

スケジュールのセキュリティを強化するには、拡張スケジューリング権限を実装するをご覧ください。

Dataform リポジトリのリリース構成のリリース バージョンを更新するには、このリリース構成を使用しているワークフロー構成内のすべてのカスタム サービス アカウントの Dataform サービス エージェントに iam.serviceAccounts.actAs 権限を付与する必要があります。この権限は、サービス アカウント ユーザーのロールroles/iam.serviceAccountUser)で使用できます。詳細については、サービス アカウント ユーザーの IAM ロールを付与するをご覧ください。

Dataform のワークフロー ライフサイクルの概要

このセクションでは、Dataform のワークフロー ライフサイクルと、Dataform 内でコンパイルと実行を構成する方法について説明します。

Dataform ワークフローのライフサイクルは、次のフェーズで構成されます。

開発
Dataform ワークスペースでワークフローを開発します。
コンパイル

Dataform は、ワークスペース内のワークフロー コードを SQL にリアルタイムでコンパイルし、BigQuery で実行できるワークスペースのコンパイル結果を作成します。Dataform は、ワークフロー設定ファイルで定義した設定を使用してコンパイル結果を作成します。

Dataform コンパイルは、コンパイルの整合性を確保するための密閉型です。つまり、同じコードが毎回同じ SQL コンパイル結果にコンパイルされます。Dataform は、インターネット アクセスのないサンドボックス環境でコードをコンパイルします。コンパイル中は、外部 API の呼び出しなどの追加のアクションは実行できません。

実行

ワークフロー呼び出しでは、Dataform は BigQuery でワークスペースのコンパイル結果を実行します。

Dataform ワークフローのライフサイクルをニーズに合わせてカスタマイズするには、コンパイル結果を構成して、Dataform がワークフローを実行する場所と方法を調整します。その後、実行を手動でトリガーするか、実行のスケジュールを設定することによって、ワークフロー全体または選択した要素の実行タイミングを制御できます。

Dataform コンパイルを構成する方法

デフォルトでは、Dataform はワークフロー設定ファイルの設定を使用してコンパイル結果を作成します。コンパイル オーバーライドを使用してデフォルト設定をオーバーライドし、カスタム コンパイル結果を作成できます。その後、カスタム コンパイル結果の実行を手動でトリガーするか、実行をスケジュールできます。

Dataform には、コンパイル結果を構成するための次のオプションが用意されています。

ワークスペースのコンパイルのオーバーライド
リポジトリ内のすべてのワークスペースに適用されるコンパイル オーバーライドを構成できます。ワークスペース コンパイル オーバーライドを使用して、分離された開発環境を作成できます。
リリース構成
リリース構成を作成して、Dataform リポジトリのコンパイル結果を作成するためのテンプレートを構成できます。その後、選択したリリース構成で作成されたコンパイル結果の実行をスケジュールするワークフロー構成を作成できます。
Dataform API のコンパイル オーバーライド
ターミナルで Dataform API リクエストを渡して、コンパイル オーバーライドを含む単一のコンパイル結果を作成して実行できます。

ワークスペース コンパイルのオーバーライドを構成する

ワークスペース コンパイル オーバーライドを使用すると、Dataform リポジトリ内のすべてのワークスペースに対してコンパイルのオーバーライドを作成できます。リポジトリごとに 1 つのワークスペース コンパイル オーバーライド構成を作成できます。

ワークスペース コンパイル オーバーライドを含むリポジトリで、ワークスペースで実行を手動でトリガーすると、Dataform はこれらのオーバーライドをワークスペースのコンパイル結果に適用します。

次のワークスペース コンパイルのオーバーライドを構成できます。

  • Google Cloud : Dataform がワークスペースのコンテンツを実行するプロジェクト
  • テーブルの接頭辞
  • スキーマの接尾辞

ワークスペース コンパイル オーバーライドを使用すると、動的なコンパイル オーバーライドを使用して BigQuery でワークスペース コンパイル結果を分離することで、分離された開発環境を作成できます。テーブル接頭辞とスキーマ接尾辞のコンパイルの動的オーバーライドには、${workspaceName} 変数が含まれています。ワークスペースで実行をトリガーすると、Dataform は ${workspaceName} 変数を現在のワークスペースの名前に置き換え、ワークスペースに固有のコンパイル オーバーライドを作成します。

ワークスペースのコンパイル オーバーライドで作成されたコンパイル結果の実行をスケジュールすることはできません。

リリース構成を作成する

リリース構成では、リポジトリのコンパイル結果を作成するための設定のテンプレートを構成できます。

リリース構成では、ワークフロー設定、コンパイル変数、リポジトリ全体のコンパイル結果の作成頻度のコンパイルのオーバーライドを構成できます。

リリース構成では、次のコンパイルのオーバーライドを構成できます。

  • Google Cloud プロジェクト
  • テーブルの接頭辞
  • スキーマの接尾辞
  • コンパイル変数の値

Dataform リポジトリに複数のリリース構成を作成できます。開発ライフサイクルの各ステージに 1 つずつ作成し、分離されたリポジトリ コンパイル結果を作成します。

その後、選択したリリース構成で作成されたコンパイル結果のワークフロー構成を作成して実行をスケジュールできます。

選択したリリース構成で、コンパイル結果の実行を手動でトリガーすることもできます。

Dataform API のコンパイル オーバーライドを使用して単一のコンパイル結果を構成する

ターミナルで Dataform API リクエストを渡すことで、単一のコンパイル結果のコンパイル オーバーライドを構成できます。

compilationResults.create リクエストでは、Dataform ワークスペースまたは指定された Git comittish の単一のコンパイル結果を作成できます。

compilationResults.create リクエストの CodeCompilationConfig オブジェクトで、コンパイル リクエストのコンパイルのオーバーライドを構成できます。

次の Dataform API コンパイルのオーバーライドを構成できます。

  • Google Cloud プロジェクト
  • テーブルの接頭辞
  • スキーマの接尾辞
  • コンパイル変数の値

Dataform API のコンパイル オーバーライドは、単一のコンパイル結果と単一の実行に適用されます。これらを使用して Dataform の実行をスケジュールすることはできません。

コンパイル結果は workflowInvocations.create リクエストで実行できます。

Dataform 実行を構成する方法

Dataform には、実行を構成するための次のオプションが用意されています。

ワークスペースでの手動実行
Dataform ワークスペースで、スケジュール外のワークフローの即時実行を手動でトリガーできます。ワークフローで選択したアクションを実行できます。
ワークフロー構成
選択したリリース構成で作成されたコンパイル結果の実行をスケジュールできます。実行するワークフロー アクションを選択し、実行の頻度とタイムゾーンを設定できます。

ワークスペースでインスタント実行をトリガーする

Dataform ワークスペースでは、スケジュール外でワークスペースのワークフローの即時実行を手動でトリガーできます。

ワークスペースでワークフローの次の要素を手動で実行できます。

リポジトリにワークスペース コンパイル オーバーライドが含まれている場合は、Dataform がワークスペース コンパイル結果に適用するコンパイル オーバーライドを確認できます。

ワークフロー構成を作成する

ワークフロー構成を使用すると、選択したリリース構成からコンパイル結果の実行をスケジュールできます。Dataform リポジトリに複数のワークフロー構成を作成できます。

ワークフロー構成では、次の実行設定を構成できます。

  • コンパイル リリース構成が適用されました。
  • 実行するワークフロー アクションの選択。
  • 実行のスケジュールとタイムゾーン。

次のワークフロー アクションを実行するように選択できます。

  • すべてのアクション
  • 選択したアクション
  • 選択したタグを持つアクション

その後、Dataform は、ワークフロー構成のスケジュールされた実行時に、適用されたコンパイル結果から選択したアクションを BigQuery にデプロイします。

Dataform のリリース構成とワークフロー構成では、Dataform 内でコンパイルとスケジュールの実行を設定できます。追加のサービスは必要はありません。

ライフサイクル リソースの有効期限

Dataform は、コンパイル結果とワークフロー呼び出しを一定期間保存します。

ワークフローの呼び出しの有効期限

ワークフロー呼び出しは、90 日後に期限切れになるか、手動で削除すると期限切れになります。

ワークフロー構成では、構成によって作成された最新のワークフロー呼び出しのリストを表示できます。ワークフロー構成によって作成されたワークフロー呼び出しの有効期限が切れると、Dataform はそのワークフロー呼び出しを最近の呼び出しのリストから削除します。

コンパイル結果の有効期限

コンパイル結果の有効期限は、開発ワークスペース、リリース構成、ワークフローの呼び出しのいずれで作成されたかによって異なります。

Dataform ワークスペースでワークフローを開発する場合、Dataform はコードをリアルタイムでコンパイルし、クエリの検証を行います。この方法で作成されたコンパイル結果は、24 時間後に期限切れになります。

リリース構成では、最新のコンパイル結果がライブ コンパイル結果になります。新しいコンパイル結果によって、現在のライブ コンパイル結果が置き換えられます。Dataform は、新しいコンパイル結果に置き換えられるまでライブ コンパイル結果を保持します。置き換えられたコンパイル結果は、最長 24 時間で期限切れになります。

Dataform は、リリース構成の [詳細]ページにある過去のコンパイル結果のリストから、期限切れのコンパイル結果を削除します。

Dataform は、ワークフロー呼び出しによって作成されたコンパイル結果を、ワークフローの呼び出しの全有効期間保持します。この期間は、ワークフロー呼び出しの有効期限が切れるか、削除されるまでの 24 時間です。

ワークスペース コンパイル オーバーライドを作成する

以降のセクションでは、BigQuery の Dataform ワークスペースから作成されたテーブルとビューを分離するために、ワークスペース コンパイル オーバーライドを作成する方法について説明します。ワークスペース コンパイル オーバーライドを使用して、分離された Dataform 開発環境を作成できます。

Dataform ワークスペースでワークフロー コードを開発する場合、Dataform は、ワークスペースでコードをリアルタイムでし、ワークスペースの結果を作成します。Dataform は、ワークフロー設定ファイルで定義された設定を使用して、ワークスペースのコンパイル結果を作成します。その後、ワークスペースで実行をトリガーすると、Dataform は BigQuery でワークスペースのコンパイル結果を実行します。

リポジトリ内のすべてのワークスペースで ワークフロー設定に設定されたデフォルト設定をオーバーライドするには、ワークスペース コンパイル オーバーライドを作成します。

ワークスペース コンパイル オーバーライドを使用すると、リポジトリ内のすべてのワークスペースで次の設定をオーバーライドできます。

プロジェクト

Dataform がワークスペースのコンパイル結果を実行する Google Cloud プロジェクト。workflow_settings.yamldefaultProject として設定するか、dataform.jsondefaultDatabase として設定します。

テーブルの接頭辞

リポジトリ内のすべてのワークスペースのすべてのテーブル名に追加されたカスタム プレフィックス。

スキーマの接尾辞

テーブルのスキーマに追加されるカスタム接尾辞。workflow_settings.yamldefaultDatasetdataform.jsondefaultSchema、またはテーブルの config ブロックの schema パラメータとして設定します。

分離された開発環境を作成するため、一意の オーバーライドを使用してワークスペースを分離できます。テーブル接頭辞とスキーマ接尾辞のオーバーライドは、${workspaceName} 変数を使用して動的に変更できます。

ワークスペースで手動で実行をトリガーすると、${workspaceName} 変数によりワークスペースの名前がワークスペース コンパイル オーバーライドに挿入されます。

${workspaceName} をテーブルの接頭辞として設定すると、Dataform はワークスペース内のすべてのテーブルの名前にワークスペースの名前を追加します。実行後、BigQuery でテーブルの作成元ワークスペースを特定できます。

スキーマ接尾辞として ${workspaceName} を設定すると、Dataform は defaultSchema にワークスペースの名前を追加し、ワークスペース専用のカスタム スキーマを作成します。実行後、BigQuery で、特定のワークスペースから実行されたすべてのテーブルを専用のスキーマで確認できます。

動的なワークスペース コンパイル オーバーライドの例

次の例は、リポジトリを操作する開発者にちなんで名付けられたワークスペースを含むリポジトリに適用される動的なワークスペース コンパイル オーバーライドを示しています(Sasha および Kai)。

この例のワークスペース コンパイル オーバーライドの目的は、Ssha と Kai 用に分離された開発環境を作成することです。

workflow_settings.yaml では、次のデフォルト設定が設定されています。

  • defaultProject: analytics
  • defaultDataset: dataform

次のワークスペース コンパイル オーバーライドでは、リポジトリ内の各ワークスペースに動的なテーブル接頭辞とスキーマ接尾辞を作成します。

  • Google Cloud プロジェクト ID: analytics_dev
  • テーブルの接頭辞: ${workspaceName}
  • スキーマの接尾辞: ${workspaceName}

Sasha が Sasha ワークスペースで実行を手動でトリガーすると、Dataform は次の設定でコンテンツを実行します。

  • Google Cloud プロジェクト
  • スキーマ: dataform_sasha
  • テーブル名: sasha_name(例: sasha_orders

Kai が Kai ワークスペースで手動で実行をトリガーすると、Dataform は次の設定でコンテンツを実行します。

  • Google Cloud プロジェクト
  • スキーマ: dataform_kai
  • テーブル名: kai_name(例: kai_orders

ワークスペース コンパイル オーバーライドを作成する

Dataform ワークスペース コンパイル オーバーライドを作成するには、次の操作を行います。

  1. リポジトリで、[設定] に移動します。
  2. [編集] をクリックします。
  3. [ワークスペース コンパイル オーバーライド] ペインの [Google Cloud プロジェクト ID] フィールドに、プロジェクトの ID を入力します。
  4. [テーブルの接頭辞] フィールドに、すべてのテーブル名の接頭辞を入力します。
    1. 省略可: ワークスペースごとに一意の動的テーブル接頭辞を作成するには、テーブル接頭辞として ${workspaceName} を入力します。
  5. [スキーマの接尾辞] フィールドに、作成したテーブルまたはビューのスキーマに追加する接尾辞を入力します。
    1. 省略可: 各ワークスペースに固有の動的スキーマ接尾辞を作成するには、テーブル接尾辞として ${workspaceName} を入力します。
  6. [保存] をクリックします。

Dataform は、リポジトリ内のすべてのワークスペースにワークスペース コンパイル オーバーライドを適用します。

ワークスペース コンパイル オーバーライドを編集する

Dataform ワークスペース コンパイル オーバーライドを編集する手順は次のとおりです。

  1. リポジトリで、[設定] に移動します。
  2. [編集] をクリックします。
  3. ワークスペース コンパイル オーバーライドを編集し、[保存] をクリックします。

ワークスペース コンパイル オーバーライドを削除する

Dataform ワークスペース コンパイル オーバーライドを削除する手順は次のとおりです。

  1. リポジトリで、[設定] に移動します。
  2. [編集] をクリックします。
  3. [ワークスペース コンパイル オーバーライド] ペインで、[すべてをクリアする] をクリックしてから、[保存] をクリックします。

Dataform API でコンパイルのオーバーライドを構成する

このセクションでは、Dataform API を使用して、コンパイル オーバーライドを使用してコンパイル結果を作成して実行する方法について説明します。

Dataform API のコンパイル オーバーライドについて

ワークフローを実行するために、Dataform はコードを SQL にコンパイルして、コンパイル結果を作成します。その後、ワークフローの呼び出し中に、Dataform は BigQuery でコンパイル結果を実行します。

デフォルトでは、Dataform はワークフロー設定ファイルの設定を使用してコンパイル結果を作成します。開発ライフサイクルのさまざまな段階で実行されるデータを分離するには、コンパイル オーバーライドを使用してデフォルト設定をオーバーライドします。

ターミナルで Dataform API リクエストを渡すことで、コンパイル オーバーライドを使用して単一のコンパイル結果を作成して実行できます。ワークスペースまたは選択した Git committish のコンパイル結果を作成できます。

コンパイル オーバーライドを使用してコンパイル結果を作成するには、Dataform API の compilationResults.create リクエストを送信する必要があります。このリクエストで、Dataform がコンパイルしてコンパイル結果を作成するために、ソース(ワークスペースまたは Git Commitish)を指定する必要があります。compilationResults.create リクエストの CodeCompilationConfig オブジェクトで、コンパイルのオーバーライドを構成できます。

その後、Dataform API の workflowInvocations.create リクエストで作成されたコンパイル結果を実行します。

Dataform API を使用して、次のコンパイルのオーバーライドを構成できます。

Google Cloud プロジェクト

Dataform がコンパイル結果を実行するプロジェクト。workflow_settings.yaml ファイルで defaultProject プロパティとして設定するか、dataform.json ファイルで defaultDatabase プロパティとして設定します。

テーブルの接頭辞

コンパイル結果のすべてのテーブル名に追加されるカスタム接頭辞。

スキーマの接尾辞

workflow_settings.yaml ファイルの defaultDataset プロパティ、dataform.json ファイルの defaultSchema プロパティ、またはテーブルの config ブロック内の schema パラメータで定義されるテーブルのスキーマに追加されるカスタム接尾辞。

コンパイル変数の値

コンパイル結果で使用されるコンパイル変数の値。コンパイル変数を使用して、テーブルを条件付きで実行できます。

Dataform API のコンパイル オーバーライドは 1 つのコンパイル結果にのみ使用できます。別の方法として、 Google Cloud コンソールでワークスペースのコンパイル オーバーライドを構成できます。

Dataform でコンパイル オーバーライドを構成する別の方法については、Dataform のワークフロー ライフサイクルの概要をご覧ください。

コンパイル結果ソースを設定する

Dataform API compilationResults.create リクエストを発生させるには、コンパイル結果のソースを指定する必要があります。

compilationResults.create リクエストで、Dataform ワークスペース、Git ブランチ、Git タグ、Git commit SHA をソースとして設定できます。

ワークスペースをコンパイル結果ソースとして設定する

  • compilationResults.create リクエストで、選択した Dataform ワークスペースのパスを次の形式で workspace プロパティに入力します。

    {
    "workspace": "projects/PROJECT_NAME/locations/LOCATION/repositories/REPOSITORY_NAME/workspaces/WORKSPACE_NAME"
    }
    

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

    • PROJECT_NAME: Google Cloud プロジェクトの名前。
    • LOCATION: ワークフロー設定で設定された Dataform リポジトリのロケーション。
    • REPOSITORY_NAME: Dataform リポジトリの名前。
    • WORKSPACE_NAME: Dataform ワークスペースの名前。

次のコードサンプルは、"sales-test" というワークスペースに設定された compilationResults.create リクエストの workspace プロパティを示します。

{
"workspace": "projects/analytics/locations/europe-west4/repositories/sales/workspaces/sales-test"
}

Git Commitish をコンパイル結果ソースとして設定する

  • compilationResults.create リクエストで、次の形式で選択した Git ブランチ、タグ、または commit SHA を gitCommitish プロパティに入力します。

    {
      "gitCommitish": "GIT_COMMITISH"
    }
    

    GIT_COMMITISH は、コンパイル結果に選択した Git ブランチ、Git タグ、または Git commit SHA に置き換えます。

次のコードサンプルは、"staging" に設定された compilationResults.create リクエストの gitCommitish プロパティを示しています。

{
  "gitCommitish": "staging"
}

デフォルト プロジェクトをオーバーライドする

開発に使用するプロジェクトとは別の Google Cloud プロジェクトにステージング テーブルまたは本番環境テーブルを作成するには、Dataform API の compilationResults.create リクエストで CodeCompilationConfig オブジェクトの別のプロジェクト ID を渡します。

compilationResults.create リクエストで別のデフォルトのプロジェクト ID を渡すと、ワークフロー設定ファイル内の構成されたデフォルトのプロジェクト ID がオーバーライドされますが、個々のテーブル内の構成されたプロジェクト ID はオーバーライドされません。

  • デフォルトのプロジェクト ID をオーバーライドするには、次の形式で、defaultDatabase プロパティを CodeCompilationConfig オブジェクトの選択したプロジェクト ID に設定します。

    {
      "codeCompilationConfig": {
        "defaultDatabase": "PROJECT_NAME"
      }
    }
    

    PROJECT_NAME は、コンパイル結果に設定するプロジェクト ID に置き換えます。

テーブルの接頭辞を追加する

コンパイル結果からテーブルを迅速に識別するには、Dataform API の compilationResults.create リクエストで CodeCompilationConfig オブジェクトのテーブル接尾辞を渡すことで、コンパイル結果のすべてのテーブル名に接頭辞を追加します。

  • テーブルの接頭辞を追加するには、CodeCompilationConfig オブジェクトで次の形式で tablePrefix プロパティを設定します。

    {
      "codeCompilationConfig": {
        "tablePrefix": "PREFIX",
      }
    }
    

    PREFIX は、追加する接頭辞(staging など)に置き換えます。

    たとえば、テーブル名が table_name の場合、Dataform は staging_table_name という名前のテーブルを作成します。

スキーマの接尾辞を追加する

開発データ、ステージング データ、本番環境データを分離するには、Dataform API の compilationResults.create リクエストで CodeCompilationConfig オブジェクトにスキーマの接尾辞を渡すことで、コンパイル結果のスキーマに接尾辞を追加します。

  • スキーマの接尾辞を追加するには、CodeCompilationConfig オブジェクトの schemaSuffix プロパティを次の形式で設定します。

    {
      "codeCompilationConfig": {
        "schemaSuffix": "SUFFIX",
      }
    }
    

    SUFFIX は、追加する接尾辞(_staging など)に置き換えます。

    たとえば、workflow_settings.yaml ファイルの defaultDataset プロパティが dataform に設定されている場合、Dataform は dataform_staging スキーマにテーブルを作成します。

コンパイル変数を使用して選択したファイルを条件付きで実行する

選択したテーブルを特定の実行設定でのみ実行するには、実行設定のコンパイル変数を作成してから、Dataform API の compilationResults.create リクエストで CodeCompilationConfig オブジェクトの値を渡します。

Dataform API を使用して特定の実行設定でテーブルを条件付きで実行する手順は次のとおりです。

  1. コンパイル変数を作成し、選択したテーブルに追加します
  2. Dataform API コンパイル リクエストの codeCompilationConfig ブロックに、YOUR_VARIABLEVALUE の Key-Value ペアを次の形式に設定します。

    {
      "codeCompilationConfig": {
        "vars": {
          "YOUR_VARIABLE": "VALUE"
        }
      }
    }
    
  3. YOUR_VARIABLE は、変数の名前(executionSetting など)に置き換えます。

  4. VALUE は、選択されたテーブルで設定された when 条件を満たすこのコンパイル結果の変数の値に置き換えます。

次のコードサンプルは、Dataform API コンパイル リクエストに渡される executionSetting 変数を示しています。

{
  "gitCommitish": "staging",
  "codeCompilationConfig": {
    "vars": {
      "executionSetting": "staging"
    }
  }
}

コンパイルのオーバーライドを使用してコンパイル結果を実行する

  • compilationResults.create リクエストによって作成されたコンパイル結果を実行するには、workflowInvocations.create リクエストで compilationResults.create リクエストによって返されたコンパイル結果 ID を渡します。

次のコードサンプルは、workflowInvocations.create リクエストで渡されるコンパイル結果 ID を示しています。

{
  "compilationResult": "projects/my-project-name/locations/europe-west4/repositories/my-repository-name/compilationResults/7646b4ed-ac8e-447f-93cf-63c43249ff11"
}

リリース構成を作成する

以降のセクションでは、Dataform でリリース構成を作成して、スケジュールに従って実行できるコンパイル設定のテンプレートを構成する方法について説明します。リリース構成を使用して、ステージングや本番環境などの実行環境を構成できます。

BigQuery でワークフローを実行するために、Dataform は SQL ワークフロー コードをコンパイル結果にコンパイルします。このプロセスは、Dataform ワークスペースでワークフローを開発するときに自動的に行われます。

リリース構成を使用すると、コンパイル結果をカスタマイズできます。これらを使用して、ステージングなどの実行環境を作成できます。

リリース構成の設定

リリース構成では、ワークフロー設定のコンパイルのオーバーライドを構成し、コンパイル変数を設定して、コンパイル結果の作成頻度を設定できます。

Dataform リリース構成には、次のコンパイル設定が含まれています。

リリースの設定
リリースの ID、コンパイル結果の Git commitish、コンパイル結果の作成頻度。フリークエンシーは省略可能な設定です。設定した場合、最小頻度は 1 時間です。
コンパイルのオーバーライド
ワークフローの設定で定義されたGoogle Cloud プロジェクト、テーブル接頭辞、スキーマ接尾辞、コンパイル変数オーバーライド

リリース構成の仕組み

Dataform は、指定された頻度で、または、コンパイルをトリガーしたときに、リリース構成からコンパイル結果を作成します。頻度は省略可能な設定であり、リリース構成の作成に必須ではありません。設定した場合、最小頻度は 1 時間です。[リリース構成の詳細] ページで手動でコンパイルをトリガーするか、Dataform API releaseConfigs メソッドを使用してコンパイルをトリガーできます。

コンパイル中に、Dataform はリポジトリの指定された Git commitish からコードを pull します。次に、Dataform は適用されたコンパイル オーバーライド(存在する場合)を使用してコードをコンパイルし、コンパイル結果を作成します。リリース構成用に作成された最新のコンパイル結果は、ライブ コンパイル結果です。

ワークフロー構成で、リリース構成のコンパイル結果の実行をスケジュールできます。スケジュール外で選択したリリース構成を実行することもできます。ワークフロー構成の実行中に、Dataform は選択したリリース構成からライブ コンパイル結果を実行します。

リリース構成を作成する

Dataform リリース構成を作成する手順は次のとおりです。

  1. リポジトリで、[リリースとスケジュール] に移動します。
  2. [リリース構成] セクションで、[作成] をクリックします。
  3. [リリース構成を作成] ペインで、リリース設定を構成します。

    1. [リリース ID] フィールドに、リリース構成の一意の ID を入力します。

      ID には数字、英字、ハイフン、アンダースコアのみを使用できます。

    2. [Git Commitish] フィールドに、リリースの Git ブランチまたは Git commit SHA を入力します。

      リモート リポジトリに接続されていない Dataform リポジトリでは、値は常に main です。

    3. 省略可: [頻度] フィールドで、コンパイル結果を作成する頻度を選択します。

      設定した場合、最小頻度は 1 時間です。

      自動リリースを無効にするには、[頻度] フィールドを空のままにします。

  4. 省略可: [コンパイルのオーバーライド] セクションで、コンパイル設定を構成します。

    1. [Google Cloud プロジェクト ID] フィールドに、コンパイル結果を保存するGoogle Cloud プロジェクトの ID を入力します。
    2. [スキーマの接尾辞] フィールドに、ワークフロー設定で構成されたスキーマに追加する接尾辞を入力します。
    3. [テーブルの接頭辞] フィールドに、すべてのテーブル名の接頭辞を入力します。
  5. 省略可: [コンパイル変数] セクションで、コンパイル変数を設定します。

    1. [変数を追加] をクリックします。
    2. [キー] フィールドにコンパイル変数を入力します。
    3. [] フィールドに、コンパイル変数の値を入力します。
    4. 別のコンパイル変数を追加するには、[変数を追加] をクリックします。
  6. [作成] をクリックします。

デフォルトのプロジェクトをオーバーライドする場合は、Dataform サービス エージェントまたはカスタム サービス アカウントがリリース構成で設定されたプロジェクトにアクセスできることを確認してください。

たとえば、次のリリース構成では、コンパイルのオーバーライドなしで、main ブランチから 1 時間ごとに production コンパイル結果が作成されます。

  • リリース IDproduction
  • GitCommitishmain
  • 頻度: 1 時間ごと
  • コンパイルのオーバーライドなし

リリース構成の詳細を表示する

リリース構成の次の詳細を表示できます。

  • リリースの設定
    • git Commitish
    • 最新のコンパイル結果のタイムスタンプ
    • cron のスケジュール
    • コンパイルのオーバーライド
    • コンパイル変数
  • ライブ コンパイルの結果
    • 作成時のタイムスタンプ
    • git Commitish
    • Commit SHA
  • 過去のコンパイル結果

リリース構成の詳細を表示する手順は次のとおりです。

  1. リポジトリで、[リリースとスケジュール] に移動します。
  2. リリース構成を選択します。
  3. [リリース構成の詳細] ページで、リリース構成の詳細を確認します。

[スケジュールされたコンパイルの結果] テーブルには、リリース構成で自動的に作成された過去のコンパイルの結果が表示されます。

[手動/API のコンパイル結果] テーブルには、リポジトリの最新の 1,000 件のコンパイル結果のうち、手動で作成されたコンパイル結果、または Dataform API の呼び出しによって作成されたコンパイル結果が表示されます。

コンパイルを手動でトリガーする

選択したリリース構成からコンパイル結果を手動で作成する手順は次のとおりです。

  1. リポジトリで、[リリースとスケジュール] に移動します。
  2. リリース構成を選択します。
  3. [リリース構成の詳細] ページで、[新しいコンパイル] をクリックします。

UI を使用している場合、新しくコンパイルされた結果はリリース構成で自動的に公開されます。API を使用している場合は、リリース構成から新しいコンパイル結果を作成し、リリース構成を更新して、この新しい値で releaseCompilationResult フィールドを設定する必要があります。

手動コンパイルの結果は、[リリース構成の詳細] ページの [手動 / API のコンパイル結果] テーブルに表示されます。

リリース構成の実行をトリガーする

選択したリリース構成のライブ コンパイル結果の実行を BigQuery にトリガーするには、以下の手順を実行します:

  1. リポジトリで、[リリースとスケジュール] に移動します。
  2. [リリース構成] セクションで、[実行を開始] をクリックします。
  3. [手動ワークフローを実行] ペインの [リリース構成] リストで、リリース構成を選択します。
  4. 実行するワークフロー アクションを選択します。
    1. ワークフロー全体を実行するには、[すべてのアクション] をクリックします。
    2. ワークフローで選択したアクションを実行するには、[アクションの選択] をクリックして、アクションを選択します。
    3. 選択したタグを持つアクションを実行するには、[タグの選択] をクリックして、タグを選択します。
  5. 省略可: 選択したアクションまたはタグとその依存関係を実行するには、[依存関係を含める] オプションを選択します。
  6. 省略可: 選択したアクションまたはタグとそれらの依存関係を実行するには、[依存者を含める] オプションを選択します。
  7. 省略可: すべてのテーブルをゼロから再構築するには、[フル更新で実行] オプションを選択します。

    このオプションを使用しない場合、Dataform は、増分テーブルをゼロから再構築せずに更新します。

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

リリース構成を編集する

リリース構成を編集するには、次の手順を行います。

  1. リポジトリで、[リリースとスケジュール] に移動します。
  2. 編集するリリース構成で、その他)メニューをクリックし、[編集] をクリックします。
  3. [リリース構成を編集] ペインで、リリース構成の設定を編集し、[保存] をクリックします。

リリース構成を削除する

スキャン構成を作成するには、次の手順を行います。

  1. リポジトリで、[リリースとスケジュール] に移動します。
  2. 削除するリリース構成で、 [その他] メニューをクリックし、[削除] をクリックします。
  3. [リリース構成の削除] ダイアログで、[削除] をクリックします。

次のステップ