このドキュメントでは、Dataform で次の操作を行う方法について説明します。
- Dataform のコード ライフサイクルについて理解する。
- ワークスペース コンパイル オーバーライドを作成する。
- Dataform API でコンパイルのオーバーライドを構成する。
- リリース構成を作成する。
始める前に
Google Cloud コンソールで、[Dataform] ページに移動します。
リポジトリを作成または選択します。
開発ワークスペースを作成または選択します。
省略可: リリース構成のデフォルトの Google Cloud プロジェクトをオーバーライドするには、使用するプロジェクトに Dataform サービス アカウントのアクセス権を付与します。
必要なロール
このドキュメントのタスクを完了するのに必要な権限を取得するには、リポジトリに対する Dataform 管理者 (roles/dataform.admin
)IAM ロールを付与するよう管理者に依頼してください。ロールの付与については、プロジェクト、フォルダ、組織へのアクセス権の管理をご覧ください。
必要な権限は、カスタムロールや他の事前定義ロールから取得することもできます。
厳格な act-as モードが有効になっているときに、Dataform リポジトリのリリース構成のリリース バージョンを更新するには、このリリース構成を使用しているワークフロー構成内のすべてのサービス アカウントに対する iam.serviceAccounts.actAs
権限が必要です。この権限は、サービス アカウント ユーザー(roles/iam.serviceAccountUser
)ロールで使用できます。
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 リクエストを渡すことで、1 つのコンパイル結果のコンパイル オーバーライドを構成できます。
compilationResults.create
リクエストでは、Dataform ワークスペースまたは指定した Git commitish の単一のコンパイル結果を作成できます。
compilationResults.create
リクエストの CodeCompilationConfig
オブジェクトで、コンパイル リクエストのコンパイル オーバーライドを構成できます。
次の Dataform API コンパイル オーバーライドを構成できます。
- Google Cloud プロジェクト
- テーブルの接頭辞
- スキーマの接尾辞
- コンパイル変数の値
Dataform API のコンパイル オーバーライドは、1 つのコンパイル結果と 1 つの実行に適用されることに注意してください。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.yaml
でdefaultProject
として設定するか、dataform.json
でdefaultDatabase
として設定します。 - テーブルの接頭辞
- リポジトリ内のすべてのワークスペースのすべてのテーブル名に追加されたカスタム プレフィックス。
- スキーマの接尾辞
- テーブルのスキーマに追加されるカスタム接尾辞。
workflow_settings.yaml
のdefaultDataset
、dataform.json
のdefaultSchema
、またはテーブルの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 ワークスペース コンパイル オーバーライドを作成する手順は次のとおりです。
- リポジトリで [設定] に移動します。
- [編集] をクリックします。
- [ワークスペース コンパイル オーバーライド] ペインで、[Google Cloud プロジェクト ID] フィールドにプロジェクトの ID を入力します。
- [テーブル接頭辞] フィールドに、すべてのテーブル名の接頭辞を入力します。
- 省略可: ワークスペースごとに一意の動的テーブル接頭辞を作成するには、テーブル接頭辞として
${workspaceName}
を入力します。
- 省略可: ワークスペースごとに一意の動的テーブル接頭辞を作成するには、テーブル接頭辞として
- [スキーマの接尾辞] フィールドに、作成するテーブルまたはビューのスキーマに追加する接尾辞を入力します。
- 省略可: ワークスペースごとに一意の動的スキーマ接尾辞を作成するには、テーブル接尾辞として
${workspaceName}
を入力します。
- 省略可: ワークスペースごとに一意の動的スキーマ接尾辞を作成するには、テーブル接尾辞として
- [保存] をクリックします。
Dataform は、リポジトリ内のすべてのワークスペースにワークスペース コンパイル オーバーライドを適用します。
ワークスペース コンパイル オーバーライドを編集する
Dataform ワークスペース コンパイル オーバーライドを編集する手順は次のとおりです。
- リポジトリで [設定] に移動します。
- [編集] をクリックします。
- ワークスペース コンパイル オーバーライドを編集し、[保存] をクリックします。
ワークスペース コンパイル オーバーライドを削除する
Dataform ワークスペース コンパイル オーバーライドを削除するには、次の手順に従います。
- リポジトリで [設定] に移動します。
- [編集] をクリックします。
- [ワークスペース コンパイル オーバーライド] ペインで、[すべてをクリアする] をクリックしてから、[保存] をクリックします。
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 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"
}
デフォルト プロジェクトをオーバーライドする
開発に使用するプロジェクトとは別のプロジェクトにステージング テーブルまたは本番環境テーブルを作成するには、Dataform API の compilationResults.create
リクエストで CodeCompilationConfig
オブジェクトの別のプロジェクト ID を渡します。 Google Cloud
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 を使用して特定の実行設定でテーブルを条件付きで実行する手順は次のとおりです。
- コンパイル変数を作成し、選択したテーブルに追加します。
Dataform API コンパイル リクエストの
codeCompilationConfig
ブロックに、YOUR_VARIABLE と VALUE の Key-Value ペアを次の形式に設定します。{ "codeCompilationConfig": { "vars": { "YOUR_VARIABLE": "VALUE" } } }
YOUR_VARIABLE は、変数の名前(
executionSetting
など)に置き換えます。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 リリース構成を作成するには、次の操作を行います。
- リポジトリで、[リリースとスケジュール] に移動します。
- [リリース構成] セクションで、[作成] をクリックします。
[リリース構成を作成] ペインで、リリース設定を構成します。
[リリース ID] フィールドに、リリース構成の一意の ID を入力します。
ID には数字、英字、ハイフン、アンダースコアのみを使用できます。
[Git Commitish] フィールドに、リリースの Git ブランチまたは Git commit SHA を入力します。
リモート リポジトリに接続されていない Dataform リポジトリでは、値は常に
main
です。省略可: [頻度] フィールドで、コンパイル結果を作成する頻度を選択します。
設定する場合、最小頻度は 1 時間です。
自動リリースを無効にするには、[頻度] フィールドを空白のままにします。
省略可: [コンパイルのオーバーライド] セクションで、コンパイル設定を構成します。
- [Google Cloud プロジェクト ID] フィールドに、コンパイル結果を保存するGoogle Cloud プロジェクトの ID を入力します。
- [スキーマの接尾辞] フィールドに、ワークフロー設定で構成されたスキーマに追加する接尾辞を入力します。
- [テーブル接頭辞] フィールドに、すべてのテーブル名の接頭辞を入力します。
省略可: [コンパイル変数] セクションで、コンパイル変数を設定します。
- [変数を追加] をクリックします。
- [キー] フィールドにコンパイル変数を入力します。
- [値] フィールドに、コンパイル変数の値を入力します。
- 別のコンパイル変数を追加するには、[変数を追加] をクリックします。
[作成] をクリックします。
デフォルトのプロジェクトをオーバーライドする場合は、リリース構成で設定されたプロジェクトにDataform サービス アカウントがアクセスできることを確認してください。
たとえば、次のリリース構成では、コンパイル オーバーライドなしで、main
ブランチから production
コンパイル結果が 1 時間ごとに作成されます。
- リリース ID:
production
- GitCommitish:
main
- 頻度: 1 時間ごと
- コンパイルのオーバーライドなし
リリース構成の詳細を表示する
リリース構成の次の詳細を表示できます。
- リリースの設定
- git Commitish
- 最新のコンパイル結果のタイムスタンプ
- cron のスケジュール
- コンパイルのオーバーライド
- コンパイル変数
- ライブ コンパイルの結果
- 作成時のタイムスタンプ
- git Commitish
- Commit SHA
- 過去のコンパイル結果
リリース構成の詳細を表示する手順は次のとおりです。
- リポジトリで、[リリースとスケジュール] に移動します。
- リリース構成を選択します。
- [リリース構成の詳細] ページで、リリース構成の詳細を確認します。
[スケジュールされたコンパイルの結果] テーブルには、リリース構成で自動的に作成された過去のコンパイルの結果が表示されます。
[手動/API のコンパイル結果] テーブルには、リポジトリ内の最新の 1,000 件のコンパイル結果のうち、手動で作成されたコンパイル結果または Dataform API の呼び出しによって作成されたコンパイル結果が表示されます。
コンパイルを手動でトリガーする
選択したリリース構成からコンパイル結果を手動で作成する手順は次のとおりです。
- リポジトリで、[リリースとスケジュール] に移動します。
- リリース構成を選択します。
- [リリース構成の詳細] ページで、[新しいコンパイル] をクリックします。
UI を使用している場合、新しくコンパイルされた結果は、リリース構成で自動的に公開されます。API を使用している場合は、リリース構成から新しいコンパイル結果を作成し、リリース構成を更新して、この新しい値で releaseCompilationResult
フィールドを設定する必要があります。
手動コンパイルの結果は、[リリース構成の詳細] ページの [手動 / API のコンパイル結果] テーブルに表示されます。
リリース構成の実行をトリガーする
選択したリリース構成のライブ コンパイル結果の実行を BigQuery にトリガーするには、以下の手順を実行します:
- リポジトリで、[リリースとスケジュール] に移動します。
- [リリース構成] セクションで、[実行を開始] をクリックします。
- [手動ワークフローを実行] ペインの [リリース構成] リストで、リリース構成を選択します。
- 実行するワークフロー アクションを選択します。
- ワークフロー全体を実行するには、[すべてのアクション] をクリックします。
- ワークフローで選択したアクションを実行するには、[アクションの選択] をクリックして、アクションを選択します。
- 選択したタグでアクションを実行するには、[タグの選択] をクリックしてタグを選択します。
- 省略可: 選択したアクションまたはタグとそれらの依存関係を実行するには、[依存関係を含める] オプションを選択します。
- 省略可: 選択したアクションまたはタグとそれらの依存関係を実行するには、[依存者を含める] オプションを選択します。
省略可: すべてのテーブルをゼロから再構築するには、[フル更新で実行] オプションを選択します。
このオプションを使用しない場合、Dataform は、増分テーブルをゼロから再構築せずに更新します。
[実行を開始] をクリックします。
リリース構成を編集する
リリース構成を編集するには、次の手順を行います。
- リポジトリで、[リリースとスケジュール] に移動します。
- 編集するリリース構成で、 [その他] メニューをクリックし、[編集] をクリックします。
- [リリース構成を編集] ペインで、リリース構成の設定を編集し、[保存] をクリックします。
リリース構成を削除する
スキャン構成を作成するには、次の手順を行います。
- リポジトリで、[リリースとスケジュール] に移動します。
- 削除するリリース構成で、 [その他] メニューをクリックし、[削除] をクリックします。
- [リリース構成の削除] ダイアログで、[削除] をクリックします。
次のステップ
- Dataform のコード ライフサイクルのベスト プラクティスの詳細については、コード ライフサイクルの管理をご覧ください。
- ワークスペースで実行を手動でトリガーする方法については、実行をトリガーするをご覧ください。
- ワークフロー構成を作成する方法については、ワークフロー構成を使用して実行をスケジュールするをご覧ください。
- Dataform API の詳細については、Dataform API をご覧ください。