Dataform コアパッケージを管理する

このドキュメントでは、Dataform コア フレームワークの依存関係パッケージを管理し、最新バージョンに更新する方法について説明します。

Dataform コアは、SQL、SQLX、JavaScript を使用して SQL ワークフローを開発するためのオープンソースの Dataform フレームワークです。ベスト プラクティスとして、利用可能な最新バージョンの Dataform コア フレームワークを常に使用することをおすすめします。Dataform コア フレームワークのリリースについては、GitHub の Dataform リリースをご覧ください。

始める前に

  1. リポジトリを作成する
  2. 開発ワークスペースを作成して初期化します

必要なロール

Dataform コアの管理と更新に必要な権限を取得するには、次の IAM ロールを付与するよう管理者に依頼してください。

  • Dataform コア パッケージのロケーションを管理する: リポジトリの Dataform 管理者roles/dataform.admin
  • Dataform コア パッケージを更新する: ワークスペースの Dataform 編集者roles/dataform.editor

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

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

Dataform コア パッケージの場所を管理する

リポジトリで最初のワークスペースを初期化すると、Dataform は Dataform コアを依存関係パッケージとして自動的に設定します。Dataform コア 3.0.0 以降、Dataform はデフォルトで Dataform コアパッケージを workflow_settings.yaml ファイルにインストールします。以前のバージョンの Dataform コアでは、Dataform コアは package.json ファイルで設定されていました。

Dataform コア 3.0.0 以降では、リポジトリに Dataform コアが唯一のパッケージである場合は、workflow_settings.yaml ファイルで設定する必要があります。以前のバージョンの Dataform コアで作成されたリポジトリの場合は、Dataform コアパッケージを workflow_settings.yaml に移動します。

package.json ファイルは、Dataform に追加のパッケージをインストールするために必要です。リポジトリで追加のパッケージを使用している場合は、すべてのパッケージが 1 か所に設定されるように、package.json に Dataform コアパッケージを設定します。リポジトリに package.json がない場合は、package.json を作成し、Dataform コアパッケージを移動して、追加のパッケージをインストールします。

Dataform コアを workflow_settings.yaml に移動

3.0.0 より前のバージョンの Dataform コアで作成されたリポジトリで、Dataform コア以外の依存関係パッケージがない場合は、Dataform コア パッケージを package.json から workflow_settings.yaml に移動し、冗長な package.json ファイルを削除する必要があります。

Dataform コアパッケージを package.json から workflow_settings.yaml に移行するには、次の操作を行います。

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

    [Dataform] ページに移動

  2. リポジトリを選択し、ワークスペースを選択します。

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

  4. workflow_settings.yaml ファイルに、次の形式で Dataform コア パッケージを追加します。

    dataformCoreVersion: "VERSION"
    
    

    VERSION は、3.0.0 など、最新バージョンの Dataform に置き換えます。

  5. [ファイル] ペインで、package.json の横にある [その他] メニューをクリックし、[削除] をクリックします。

  6. dataform.json の削除を確定するには、[削除] をクリックします。

  7. [パッケージをインストール] をクリックします。

Dataform コアを package.json に移動

package.json ファイルは、リポジトリに追加のパッケージをインストールするために必要です。リポジトリで追加のパッケージを使用している場合は、Dataform コアパッケージを含むすべてのパッケージを package.json に保存する必要があります。

Dataform コアパッケージが workflow_settings.yaml ファイルに設定されているためにリポジトリに package.json ファイルが含まれていない場合は、追加のパッケージをインストールするために package.json ファイルを作成し、Dataform コアパッケージを workflow_settings.yaml から新しく作成された package.json に移動する必要があります。

package.json ファイルを作成して Dataform コアパッケージを移動する手順は次のとおりです。

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

    [Dataform] ページに移動

  2. リポジトリを選択し、ワークスペースを選択します。

  3. [ファイル] ペインで [追加追加]、[ファイルを作成] の順にクリックします。

  4. [ファイルパスを追加] フィールドに「package.json」と入力します。

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

  6. package.json ファイルに、次の形式で Dataform コアパッケージを追加します。

    {
        "dependencies": {
            "@dataform/core": "VERSION"
        }
    }
    

    VERSION は、3.0.0 など、最新バージョンの Dataform に置き換えます。

  7. [パッケージをインストール] をクリックします。

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

  9. workflow_settings.yaml ファイルで、dataformCoreVersion プロパティを削除します。

Dataform コアを更新する

新しいパッケージ バージョンを本番環境にデプロイする前に、必ず非本番環境でテストしてください。

Dataform コア依存関係パッケージを更新する手順は次のとおりです。

  1. GitHub の Dataform リリースページ@dataform/core の最新バージョンを確認します。

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

    [Dataform] ページに移動

  3. リポジトリを選択し、ワークスペースを選択します。

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

    Dataform コア依存関係パッケージが設定される場所は、Dataform コアのバージョンとパッケージの使用方法によって異なります。詳細については、Dataform コアパッケージのロケーションを管理するをご覧ください。

  5. Dataform コア依存関係パッケージを最新バージョンに更新します。

    package.json

    {
        "dependencies": {
            "@dataform/core": "VERSION"
        }
    }
    

    VERSION は、3.0.0 など、最新バージョンの Dataform に置き換えます。 パッケージのインストールに関する問題を回避するには、Dataform コアパッケージのバージョンを明示的に指定します。package.json の他の dependencies オプション>version など)は使用しないでください。

    1. [パッケージをインストール] をクリックします。

    workflow_settings.yaml

    dataformCoreVersion: "VERSION"
    

    VERSION は、3.0.0 など、最新バージョンの Dataform に置き換えます。

    1. [パッケージをインストール] をクリックします。
  6. 変更を commit します

  7. 変更をリポジトリに push します

次のコードサンプルは、package.json ファイル内の 3.0.0 バージョンに更新された @dataform/core 依存関係を示しています。

{
    "dependencies": {
        "@dataform/core": "3.0.0"
    }
}

次のステップ