開発ワークスペースを作成する

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

開発ワークスペースの概要

Dataform では、ワークフロー コードは開発ワークスペースで操作します。これは、リポジトリの編集可能なコピーです。ワークスペースでは、同じリポジトリで作業している他のユーザーに影響を与えることなく、リポジトリのコンテンツを作成、編集、削除できます。その後、変更を commit してリポジトリに push します。

ワークフローは、Dataform コアまたは JavaScript を使用して開発できます。Dataform は、コードを SQL クエリにリアルタイムでコンパイルします。

開発ワークスペースでは、次のタスクを実行できます。

開発ワークスペースのコンポーネント

Dataform 開発ワークスペースは、次のセクションで説明するタブで構成されています。

コードタブ

[コード] タブの開発環境を使用して、ファイルの探索、クエリの開発、変更のバージョン管理、BigQuery への実行のトリガーを行うことができます。このタブには、ワークフローを開発するための次のコンポーネントが含まれています。

  • [ファイル] ペイン: ワークスペースのファイル構造が表示され、ファイル構造に対する編集内容が自動保存されます。選択したファイルが開発パネルのタブで開きます。[Type to search] フィールドでは、ワークスペース内のファイルまたはディレクトリをパスで検索できます。
  • [バージョン管理] ペイン: ワークスペースのバージョン管理ステータスとバージョン管理オプションが表示されます。
  • [開発] ペイン: 開いているファイルがタブに表示されます。編集したファイルに変更を自動保存します。
  • [実行] ボタン: コンパイルされた SQL クエリのプレビューを実行します。
  • [書式設定] ボタン: Dataform コアまたは JavaScript コードの書式を設定します。
  • コンパイル ステータス: ワークスペース内のコードのコンパイル ステータスが表示されます。
  • [メタデータ] ペイン: 編集したファイルのメタデータが表示されます。
  • [コンパイル済みクエリ] ペイン: 編集したファイルのクエリを SQL にコンパイルします。クエリのコンパイルが失敗すると、コンパイル エラーがペインに表示されます。クエリのコンパイルが成功すると、コンパイルされたクエリがペインに表示され、BigQuery に対するドライランで検証されます。クエリの検証に失敗すると、このペインに検証エラーが表示されます。クエリの検証が成功すると、BigQuery に対するクエリの実行に必要なバイト数がペインに表示されます。
  • [実行を開始] メニュー: ワークスペース内のワークフロー全体または選択した要素の実行をトリガーするオプションが表示されます。

コンパイル完了グラフのタブ

[コンパイル済みグラフ] タブには、ワークスペースで定義されたコンパイル済みワークフローがインタラクティブな有向非巡回グラフ(DAG)として表示されます。グラフには、ワークフロー内のすべてのアクションとそれらの関係が表示されます。ワークフローにコンパイル エラーがある場合、タブにはグラフではなくエラー メッセージが表示されます。

グラフの拡大縮小やドラッグ&ドロップによるナビゲーションが可能です。

グラフは、次のプロパティでフィルタできます。

  • 名前
  • タグ
  • 種類
    • アサーション
    • 宣言
    • 増分テーブル
    • マテリアライズド ビュー
    • 運用
    • テーブル
    • 不明
    • 表示

複数のフィルタを一度に選択できます。Dataform はそれらを OR 条件で適用します。

グラフ内のアクションをクリックすると、次のペインに詳細が表示されます。

  • [メタデータ] ペイン: 選択したアクションの完全な名前、タイプ、依存関係、依存関係が表示されます。
  • [クエリ] ペイン: 選択したアクションのコンパイル済み SQL クエリが表示されます。

[実行] タブ

このタブには、ワークスペースでトリガーされたすべての実行のログが表示されます。選択した実行のアクションとその詳細を表示することもできます。詳細については、実行ログをモニタリングするをご覧ください。

ワークスペースでのバージョン管理

ワークスペースでは、Git ベースのバージョン管理を使用してリポジトリを操作します。ワークスペース内のファイルに対して行った編集は、commit 可能な commit されていないローカル変更として開始され、すべてのリポジトリ ユーザーが使用できるようにリポジトリに push されます。

リポジトリがリモートの Git プロバイダに接続されている場合は、ワークスペースからメインの開発ブランチに変更を push します。リポジトリをリモートの Git プロバイダに接続するときに、メインブランチを選択します。接続されていない Dataform リポジトリでは、変更をデフォルト ブランチに push します。

Dataform リポジトリまたはリモート リポジトリから変更を pull して、開発ワークスペースのローカル変更とマージすることもできます。Dataform のバージョン管理の詳細については、コードのバージョン管理をご覧ください。

始める前に

まだ作成していない場合は、Dataform リポジトリを作成します。

必要なロール

開発ワークスペースの作成、初期化、削除に必要な権限を取得するには、ワークスペースに対する Dataform 編集者 roles/dataform.editor)IAM ロールの付与を管理者に依頼してください。ロールの付与については、プロジェクト、フォルダ、組織に対するアクセス権の管理をご覧ください。

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

Dataform 開発ワークスペースを作成する

新しいリポジトリに開発ワークスペースを初めて作成すると、Dataform が、Dataform の動作に必要な一連の構成ファイルで開発ワークスペースを初期化するよう求めるメッセージを表示します。

初期化された開発ワークスペースには、次のディレクトリとファイルが含まれています。

  • definitions/: Dataform コアまたは JavaScript のアセット定義のディレクトリ。

  • includes/: リポジトリ全体で再利用できるスクリプトと変数の空のディレクトリ。

  • workflow_settings.yaml: アセットを公開する Google Cloud プロジェクト ID と BigQuery スキーマを含むデフォルトの Dataform 構成ファイル。デフォルト設定をオーバーライドしてニーズに合わせてカスタマイズできますが、Dataform の使用を開始するうえでカスタマイズは必須ではありません。

  • package.json: 最新バージョンの @dataform/core を含むデフォルトの Dataform 依存関係構成ファイル。このファイルを使用して、パッケージをインポートできます。

  • definitions/sample.sqlx: 始めるのに役立つサンプル SQLX ファイル。

新しい Dataform 開発ワークスペースを作成する手順は次のとおりです。

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

    Dataform に移動

  2. 新しい開発ワークスペースを作成するリポジトリを選択します。

  3. リポジトリ ページで、[開発ワークスペースを作成] をクリックします。

  4. [開発ワークスペースを作成] ウィンドウで、次の操作を行います。

    1. [ワークスペース ID] フィールドに、開発ワークスペースの一意の ID を入力します。

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

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

Dataform リポジトリでワークスペースを初期化する

Dataform 開発ワークスペースを初期化する手順は次のとおりです。

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

    Dataform に移動

  2. 空のワークスペースを初期化するリポジトリを選択します。

  3. [開発ワークスペース] タブで、初期化する空のワークスペースの名前をクリックします。

  4. 開発ワークスペース ページで、[ワークスペースを初期化] をクリックします。

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

Dataform 開発ワークスペースの作成に伴う費用は発生しません。ただし、開発ワークスペースを削除する場合は、次の手順に沿って操作します。

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

    Dataform に移動

  2. 削除するワークスペースを含むリポジトリを選択します。

  3. commit されていない変更が削除されないようにするには、変更を commit して Git リポジトリに push します。

  4. [開発ワークスペース] タブで、削除する開発ワークスペースを選択し、[選択したワークスペースを削除] をクリックします。

    複数のワークスペースを一度に削除できます。

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

次のステップ