以前の環境とスケジュールを移行する

以前の Dataform は 2024 年 2 月 26 日に非推奨となり、それ以降は以前のプロジェクトにアクセスできなくなります。 このドキュメントでは、リリースとワークフローの構成を使用して、環境とスケジュールを以前の Dataform から Google Cloud の Dataform に移行する方法について説明します。

以前の Dataform では、環境とスケジュールを environments.json ファイルで定義しています。

次のコードサンプルは、レガシー Dataform の environments.json ファイルにおける production 環境と staging 環境の定義、および対応するスケジュールを示しています。

// example of an environments.json file

{
  "environments": [
    {
      "name": "production",
      "configOverride": {},
      "schedules": [
        {
          "name": "daily",
          "cron": "30 14 * * *",
          "tags": [
            "daily"
          ]
        },
        {
          "name": "hourly",
          "cron": "*/5 * * * *",
          "disabled": false
        }
      ],
      "gitRef": "master"
    },
    {
      "name": "staging",
      "configOverride": {
        "schemaSuffix": "staging"
      },
      "schedules": [
        {
          "name": "daily (all)",
          "cron": "42 16 * * mon,tue,wed,thu,fri,sat,sun"
        }
      ],
      "gitRef": "master"
    }
  ]
}

Google Cloud の Dataform では、環境とスケジュールの構成が 2 つのエクスペリエンスに分けられます。

リリース構成
従来の Dataform 環境と同様に、異なる環境(stagingproduction など)のコンパイル設定を構成するために使用します。

リリース構成では、Git commit とコンパイルのオーバーライドを構成して、コンパイル結果の作成をカスタマイズできます。Dataform は、ワークフロー構成のスケジュールとは関係なく、リリース構成からコンパイル結果を作成します。つまり、リモートの Git プロバイダが利用できない場合でも、リリース構成によるコンパイル結果のスケジュール実行は可能です。

リリース構成を作成するときに、コンパイル結果の作成頻度を設定できます。リリース構成から手動、または自動の継続的デプロイ プロセスで、コンパイル結果を作成することもできます。

ワークフローの構成
リリース構成からのコンパイル結果の実行をスケジュールするために使用される、従来の Dataform スケジュールと同等です。

まず、リリース構成を作成し、選択した環境のコンパイル設定(staging など)を定義する必要があります。次に、ワークフロー構成を作成して、staging コンパイル結果の実行スケジュールを定義します。

環境とスケジュールを移行する方法

従来の環境とスケジュールを次の方法でリリース構成ワークフロー構成に移行できます。

Dataform 内でリリースとワークフローの構成を設定する

Google Cloud の Dataform 内で、環境をリリース構成として、スケジュールをワークフロー構成として再作成します。

[Dataform] ページに移動

Dataform API を使用してリリースとワークフローの構成を設定する

Dataform API を使用して、リリース構成とワークフロー構成を設定します。

また、次の方法でレガシー環境とスケジュールを移行することもできます。

Dataform API を使用して environments.json にカスタム構成を適用する
リポジトリに environments.json ファイルを保持し、任意のツールを使用して継続的なデプロイ プロセスを構成できます。継続的なデプロイ プロセスでは、デフォルトのブランチへのマージ時に、environment.json ファイルからリリース構成とワークフロー構成を更新します。
リリースとワークフロー構成のバイパス
リリースとワークフローの構成をバイパスし、オープンソースの Dataform CLIDataform API、または Dataform API と Cloud Composerワークフローを併用して、リポジトリのコンパイルとワークフローの実行を行うことができます。

ワークフローのアラートを移行する

Dataform は、ワークフロー呼び出し用に Cloud Logging を提供します。これらのログには、ワークフローのモニタリングとデバッグに役立つ情報が含まれています。

  • receiveTimestamp
  • release_config_id
  • repository_id
  • resource_container
  • workflow_invocation_id
  • workflow_config_id
  • severity: INFOWARNINGERROR のいずれかを設定できます。
  • terminalState: SUCCEEDEDCANCELEDFAILED のいずれかです。
  • timestamp
  • @type

Cloud Logging と Cloud Monitoring を併用して、レガシー アラートと同様のアラートを構成できます。

Cloud Monitoring では、次の指標とアラートを構成できます。

  • ログベースの指標で、次のように使用できます。
    • 経時的な変化を通知するアラート ポリシーを作成する。
    • 経時的な変化を表すグラフを作成する。
  • ログに特定のイベントが表示されるたびに通知する、ログベースのアラート。

詳細については、Dataform の Cloud Logging を表示するをご覧ください。

次のステップ