以前の 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 環境と同様に、異なる環境(
staging
、production
など)のコンパイル設定を構成するために使用します。
リリース構成では、Git commit とコンパイルのオーバーライドを構成して、コンパイル結果の作成をカスタマイズできます。Dataform は、ワークフロー構成のスケジュールとは関係なく、リリース構成からコンパイル結果を作成します。つまり、リモートの Git プロバイダが利用できない場合でも、リリース構成によるコンパイル結果のスケジュール実行は可能です。
リリース構成を作成するときに、コンパイル結果の作成頻度を設定できます。リリース構成から手動、または自動の継続的デプロイ プロセスで、コンパイル結果を作成することもできます。
- ワークフローの構成
- リリース構成からのコンパイル結果の実行をスケジュールするために使用される、従来の Dataform スケジュールと同等です。
まず、リリース構成を作成し、選択した環境のコンパイル設定(staging
など)を定義する必要があります。次に、ワークフロー構成を作成して、staging
コンパイル結果の実行スケジュールを定義します。
環境とスケジュールを移行する方法
従来の環境とスケジュールを次の方法でリリース構成とワークフロー構成に移行できます。
- Dataform 内でリリースとワークフローの構成を設定する
Google Cloud の Dataform 内で、環境をリリース構成として、スケジュールをワークフロー構成として再作成します。
- Dataform API を使用してリリースとワークフローの構成を設定する
Dataform API を使用して、リリース構成とワークフロー構成を設定します。
また、次の方法でレガシー環境とスケジュールを移行することもできます。
- Dataform API を使用して
environments.json
にカスタム構成を適用する - リポジトリに
environments.json
ファイルを保持し、任意のツールを使用して継続的なデプロイ プロセスを構成できます。継続的なデプロイ プロセスでは、デフォルトのブランチへのマージ時に、environment.json
ファイルからリリース構成とワークフロー構成を更新します。 - リリースとワークフロー構成のバイパス
- リリースとワークフローの構成をバイパスし、オープンソースの Dataform CLI、Dataform API、または Dataform API と Cloud Composer や ワークフローを併用して、リポジトリのコンパイルとワークフローの実行を行うことができます。
ワークフローのアラートを移行する
Dataform は、ワークフロー呼び出し用に Cloud Logging を提供します。これらのログには、ワークフローのモニタリングとデバッグに役立つ情報が含まれています。
receiveTimestamp
release_config_id
repository_id
resource_container
workflow_invocation_id
workflow_config_id
severity
:INFO
、WARNING
、ERROR
のいずれかを設定できます。terminalState
:SUCCEEDED
、CANCELED
、FAILED
のいずれかです。timestamp
@type
Cloud Logging と Cloud Monitoring を併用して、レガシー アラートと同様のアラートを構成できます。
Cloud Monitoring では、次の指標とアラートを構成できます。
- ログベースの指標で、次のように使用できます。
- 経時的な変化を通知するアラート ポリシーを作成する。
- 経時的な変化を表すグラフを作成する。
- ログに特定のイベントが表示されるたびに通知する、ログベースのアラート。
詳細については、Dataform の Cloud Logging を表示するをご覧ください。
次のステップ
- リリース構成の作成方法については、リリース構成の作成をご覧ください。
- ワークフロー構成を作成する方法については、ワークフロー構成での実行をスケジュールするをご覧ください。
- Dataform のコード ライフサイクルの詳細については、Dataform のコード ライフサイクルの概要をご覧ください。
- Google Cloud でレガシー Dataform から Dataform に移行する方法については、レガシー Dataform から移行するをご覧ください。