このドキュメントでは、Dataform でリリース構成を作成して、スケジュールに従って実行できるコンパイル設定のテンプレートを構成する方法について説明します。リリース構成を使用して、ステージング環境と本番環境などの実行環境を構成できます。
Dataform のリリース構成について
BigQuery で SQL ワークフローを実行するために、Dataform は SQL ワークフローのコードをコンパイル結果にコンパイルします。このプロセスは、Dataform ワークスペースで SQL ワークフローを開発すると自動的に行われます。
リリース構成では、コンパイル結果をカスタマイズできます。これらを使用して、ステージングなどの実行環境を作成できます。
リリース構成設定
リリース構成では、dataform.json
設定のコンパイルのオーバーライドを構成し、コンパイル変数を設定し、コンパイル結果の作成頻度を設定できます。
Dataform リリース構成には、次のコンパイル設定が含まれます。
- リリースの設定
- リリースの ID、コンパイル結果の git commitish、コンパイル結果の作成頻度。頻度はオプションの設定です。設定する場合、最小頻度は 1 時間です。
- コンパイルのオーバーライド
dataform.json
で定義された、Google Cloud プロジェクト、テーブル接頭辞、スキーマ接尾辞、コンパイル変数のオーバーライド。
リリース構成の仕組み
Dataform は、指定された頻度で、または、コンパイルをトリガーしたときに、リリース構成からコンパイル結果を作成します。頻度はオプションの設定であり、リリース構成を作成する必要はありません。設定する場合、最小頻度は 1 時間です。[リリース構成の詳細] ページで手動でコンパイルをトリガーするか、Dataform API releaseConfigs
を使用してコンパイルをトリガーできます。
コンパイル中に、Dataform はリポジトリの指定された Git commit からコードを pull します。次に、Dataform は、適用されたコンパイルのオーバーライド(存在する場合)によってコードをコンパイルし、コンパイル結果を作成します。 リリース構成用に作成された最新のコンパイル結果は、ライブ コンパイル結果です。
ワークフロー構成で、リリース構成からコンパイル結果の実行をスケジュールできます。スケジュール外で選択したリリース構成を実行することもできます。 ワークフロー構成の実行中に、Dataform は選択したリリース構成からライブ コンパイル結果を実行します。
始める前に
Google Cloud コンソールの [Dataform] ページに移動します。
リポジトリを作成または選択します。
省略可: リリース構成でデフォルトの Google Cloud プロジェクトをオーバーライドするには、使用する Google Cloud プロジェクトに Dataform サービス アカウントにアクセス権を付与します。
必要なロール
リリース構成を作成するために必要な権限を取得するには、リポジトリに対するDataform 編集者 (roles/dataform.editor
)の IAM ロールの付与を管理者に依頼してください。
ロールの付与の詳細については、アクセス権の管理をご覧ください。
必要な権限は、カスタムロールや他の事前定義ロールから取得することもできます。
リリース構成を作成する
Dataform リリース構成を作成するには、次の手順を行います。
- リポジトリで、[リリースとスケジュール] に移動します。
- [リリース構成] セクションで、[作成] をクリックします。
[リリース構成を作成] ペインで、リリース設定を構成します。
[リリース ID] フィールドに、リリース構成の一意の ID を入力します。
ID には数字、英字、ハイフン、アンダースコアのみを使用できます。
[Git Commitish] フィールドに、リリースの Git ブランチまたは Git commit SHA を入力します。
リモート リポジトリに接続されていない Dataform リポジトリでは、値は常に
main
です。省略可: [頻度] プルダウンで、コンパイル結果の作成頻度を選択します。
設定する場合、最小頻度は 1 時間です。
省略可: [コンパイルのオーバーライド] セクションで、コンパイル設定を構成します。
- [Google Cloud Project ID] フィールドに、コンパイル結果を保存する Google Cloud プロジェクトの ID を入力します。
- [スキーマ サフィックス] フィールドに、
dataform.json
で構成されたスキーマに追加するサフィックスを入力します。 - [テーブル接頭辞] フィールドに、すべてのテーブル名の接頭辞を入力します。
省略可: [コンパイル変数] セクションでコンパイル変数を設定します。
- [変数を追加] をクリックします。
- [Key] フィールドにコンパイル変数を入力します。
- [Value] フィールドに、コンパイル変数の値を入力します。
- 別のコンパイル変数を追加するには、[変数を追加] をクリックします。
[作成] をクリックします。
デフォルトの Google Cloud プロジェクトをオーバーライドする場合は、リリース構成で設定された Google Cloud プロジェクトへのデータフォーム サービス アカウントにアクセス権があることを確認してください。
たとえば、次のリリース構成では、コンパイルのオーバーライドなしで、main
ブランチから 1 時間ごとに production
のコンパイル結果が作成されます。
- リリース ID:
production
- GitCommitish:
main
- 頻度: 1 時間あたり
- コンパイルのオーバーライドなし
リリース構成の詳細を表示する
リリース構成の以下の詳細を表示できます。
- リリースの設定
- git Commitish
- 最終コンパイル結果のタイムスタンプ
- cron のスケジュール
- コンパイルのオーバーライド
- コンパイル変数
- ライブ コンパイルの結果
- 作成のタイムスタンプ
- git Commitish
- Commit SHA
- 過去のスケジュールされたコンパイルの結果
リリース構成の詳細を表示するには、次の手順を行います。
- リポジトリで、[リリースとスケジュール] に移動します。
- リリース構成を選択します。
- [リリース構成の詳細] ページで、リリース構成の詳細を確認します。
[スケジュールされたコンパイル結果] テーブルには、リリース構成によって自動的に作成された過去のコンパイル結果が表示されます。手動で、または Dataform API の呼び出しで作成されたコンパイル結果は、テーブルに表示されません。
コンパイルを手動でトリガーする
選択したリリース構成からコンパイル結果を手動で作成するには、次の手順に沿って操作します。
- リポジトリで、[リリースとスケジュール] に移動します。
- リリース構成を選択します。
- [Release configuration details] ページで、[New compilation] をクリックします。
新しく作成されたコンパイル結果は、そのリリース構成のライブ結果になります。
手動コンパイルの結果は、[リリース構成の詳細] ページの [スケジュールされたコンパイルの結果] テーブルに表示されません。
リリース構成の実行をトリガーする
選択したリリース構成のライブ コンパイル結果の実行を BigQuery にトリガーするには、以下の手順を実行します:
- リポジトリで、[リリースとスケジュール] に移動します。
- [リリース構成] セクションで、[実行を開始] をクリックします。
- [手動ワークフローの実行] ペインの [リリース構成] プルダウンで、リリース構成を選択します。
- 実行する SQL ワークフロー アクションを選択します。
- SQL ワークフロー全体を実行するには、[すべてのアクション] をクリックします。
- 選択したアクションを SQL ワークフローで実行するには、[アクションの選択] をクリックして、アクションを選択します。
- 選択したタグを使用してアクションを実行するには、[タグの選択] をクリックし、タグを選択します。
- 省略可: 選択したアクションまたはタグとその依存関係を実行するには、[依存関係を含める] オプションを選択します。
- 省略可: 選択したアクションまたはタグとその依存を実行するには、[依存を含める] オプションを選択します。
省略可: すべてのテーブルをゼロから再構築するには、[フル更新で実行] オプションを選択します。
このオプションを使用しない場合、Dataform は、増分テーブルをゼロから再構築せずに更新します。
[実行を開始] をクリックします。
リリース構成を編集する
リリース構成を編集するには、次の手順を行います。
- リポジトリで、[リリースとスケジュール] に移動します。
- 編集するリリース構成で、 [その他] メニューをクリックし、[編集] をクリックします。
- [リリース構成の編集] ペインで、リリース構成設定を編集して、[保存] をクリックします。
リリース構成を削除する
スキャン構成を作成するには、次の手順を行います。
- リポジトリで、[リリースとスケジュール] に移動します。
- 削除するリリース構成で、 [その他] メニューをクリックし、[削除] をクリックします。
- [リリース構成の削除] ダイアログで、[削除] をクリックします。
次のステップ
- Dataform ワークフロー構成の作成方法については、ワークフロー構成での実行をスケジュールするをご覧ください。
- コードライフサイクル Dataform の詳細については、Dataform コードライフサイクルの概要をご覧ください。