操作チェックは、ノード開発ライフサイクルにおける主要な段階で品質ゲートを強制します。具体的には、ノードの実行前、開発環境へのデプロイ前、および本番環境へのデプロイ前の3つのタイミングです。これにより、問題を引き起こす前に非準拠の操作が後続工程に伝播することを防止します。
DataWorks では、以下の2つのアプローチをサポートしています。
-
組み込みのチェック項目(Data Asset Governance 経由)— カスタムコード不要で事前設定済みのチェックを有効化できます。
-
カスタム拡張(Open Platform 経由)— 組み込み項目で対応できないシナリオ向けに、イベントをサブスクライブし、独自のチェックロジックを実装します。
前提条件
操作チェックを利用するには、DataWorks Enterprise Edition 以上が必要です。
ノード開発プロセスは、標準モードのワークスペースと基本モードのワークスペースで異なります。本トピックの例では、標準モードのワークスペースを使用しています。両モードの比較については、「基本モードと標準モードの比較」をご参照ください。
仕組み
操作チェックは、ノード開発ワークフロー内の設定可能なチェックポイントで操作を一時停止します。チェックが通過した場合、ワークフローは継続されます。一方、チェックが失敗した場合は、問題が解決されるまで操作がブロックされます。
以下の図は、チェックがノード開発プロセスのどの位置に適用されるかを示しています。
標準モード
基本モード
対応するチェックポイント
いずれのアプローチでも、ワークフロー上の以下の3つのポイントでチェックを実行できます。
| チェックポイント | 組み込みのチェック項目(Data Asset Governance) | カスタム拡張(Open Platform) |
|---|---|---|
| ノード実行前 | ||
| ノードの開発環境へのデプロイ前 | ||
| ノードの本番環境へのデプロイ前 |
各アプローチの使い分け:
-
組み込みのチェック項目で要件が満たされる場合は、Data Asset Governance を使用してください。設定にはカスタムコードは不要であり、チェック項目を有効化して適用対象のワークスペースを指定するだけです。
-
チーム固有のコーディング規約の適用や外部検証サービスとの連携など、組み込み項目では対応できないカスタムロジックが必要な場合は、Open Platform を使用してください。
組み込みのチェック項目の有効化
Data Asset Governance では、複数の組み込みチェック項目が提供されています。ご要件に合致する項目を有効化し、適用対象のワークスペースを指定してください。開発者が対応する操作を実行すると、チェックが自動的にトリガーされます。チェックが通過した場合にのみ、操作を続行できます。
有効なチェックポイント の値から、チェックを適用したいステージに合致するものを選択します。
| ステージ | 有効なチェックポイントの値 |
|---|---|
| ノードのデバッグ前 | コード実行前のイベント |
| ノードの開発環境へのデプロイ前 | ノードコミット前のイベント |
| ノードの本番環境へのデプロイ前 | ノードデプロイ前のイベント |
チェック項目の設定を行うには、Data Asset Governance に移動し、各有効化された項目が適用されるワークスペースを指定します。手順については、「ガバナンス項目の設定」をご参照ください。
カスタム拡張の開発
組み込みのチェック項目が要件を満たさない場合は、Open Platform を使用してカスタム拡張を構築してください。Open Platform は、以下の3つのモジュールで構成され、相互に連携して動作します。
| モジュール | 役割 |
|---|---|
| OpenEvent | DataStudio ページ上で発生する操作から生成されるイベントメッセージをサブスクライブします。 |
| Extensions | サブスクライブしたイベントメッセージを処理する拡張を作成します。 |
| OpenAPI | 処理結果を DataWorks に送信し、操作の許可またはブロックを指示します。 |
以下の図は、ノードのデバッグステージにおけるカスタムチェックの動作を示しています。
カスタム拡張の設定
一般的なワークフローは以下のとおりです。
-
対象とする操作のイベントメッセージを購読します。
-
そのイベントメッセージを処理し、独自のチェックロジックを適用する拡張を開発します。
-
拡張を DataWorks に公開します。
-
拡張が有効になるワークスペースを指定します。
目的のチェックポイントに対応するイベントを選択してください。
| チェックポイント | サブスクライブするイベント |
|---|---|
| ノードのデバッグ前 | ノード実行前のイベント |
| ノードの開発環境へのデプロイ前 | ノードコミット前のイベント、テーブルコミット前のイベント |
| ノードの本番環境へのデプロイ前 | ノードデプロイ前のイベント、テーブルデプロイ前のイベント |
対応するイベントタイプの全リストおよび各モジュールの詳細については、「OpenEvent の概要」および「Extensions の概要」をご参照ください。