DataWorks 拡張機能は、OpenAPI および OpenEvent と連携して動作するプラグインです。拡張機能を使用すると、DataWorks でのユーザー操作に対するカスタム処理ロジックを実装し、インターセプトやブロックなどの動作を制御できます。たとえば、タスク変更管理のための拡張機能を開発し、それを使用してカスタムのタスクデプロイメント管理を実装できます。このトピックでは、拡張機能に関する基本情報について説明します。
制限事項
DataWorks Enterprise Edition のみがサポートされます。
サポートされるリージョン:中国 (北京)、中国 (杭州)、中国 (上海)、中国 (張家口)、中国 (深セン)、中国 (成都)、米国 (シリコンバレー)、米国 (バージニア)、ドイツ (フランクフルト)、日本 (東京)、中国 (香港)、シンガポール。
注意事項
アクセス制御:開発者バックエンドに対する読み取りおよび書き込み権限を持つのは、[オープンプラットフォーム管理者] と [テナント管理者]、Alibaba Cloud アカウント、または [AliyunDataWorksFullAccess] 権限を持つ RAM ユーザーのみです。詳細については、「グローバルモジュールの権限管理」および「プロダクトとコンソールの権限管理詳細:RAM ポリシー」をご参照ください。
バージョン期間:ご利用の DataWorks Enterprise Edition の有効期限が切れると、すべての拡張機能は無効になり、イベントチェックをトリガーできなくなります。DataWorks Enterprise Edition の有効期限が切れたときに、拡張機能がイベントをチェックするためにトリガーされ、チェックが完了していない場合、チェックは終了し、結果として「チェック合格」が返されます。
制限事項:現在、Function Compute を介した拡張機能のデプロイメントをサポートしているのは、一部の拡張ポイントイベントのみです。
プロダクト機能
DataWorks オープンプラットフォームは、さまざまな拡張ポイントを提供します。拡張機能モジュールは、これらの拡張ポイントに基づいて提供されます。拡張機能モジュールは、OpenAPI および OpenEvent モジュールと連携して動作するプラグインであり、ビジネス要件を満たす機能を提供し、操作のブロックなど、カスタム処理ロジックに基づいて DataWorks での操作を管理するのに役立ちます。
拡張機能を使用して操作管理を行えるビジネスシナリオ:
テーブルまたはタスクの命名規則の管理。
重複データ同期タスクの管理。
タスクによって発生する料金の管理。
タスク間の依存関係の管理。
説明「開発リファレンス:イベントリストとメッセージフォーマット」のイベントタイプを参照することで、より多くのシナリオを実装できます。
カスタムプロセス制御:DataWorks で操作を実行し、その操作によって生成された拡張ポイントイベントが拡張機能で指定されている場合、拡張機能が拡張ポイントイベントのイベントメッセージの処理結果を返すまで、操作を続行することはできません。
例:標準モードのワークスペースでは、元のタスク開発・公開プロセスに特定の関数をチェックする拡張機能を追加できます。これにより、タスクプロセスは開発 > 送信 > 公開から開発 > 送信前検証 > 送信 > 公開前チェック > 公開に変換されます。例については、「ベストプラクティス:(高度な機能アプリケーション) MAX_PT 関数の使用を禁止する」をご参照ください。
開発プロセス
DataWorks では、自己構築サービスまたは Function Compute サービスを介して拡張機能を開発およびデプロイし、カスタムプロセス制御を実装できます。
OpenEvent でイベントメッセージをプッシュするために必要な設定を構成する:ビジネスで受信する必要がある拡張ポイントイベントのタイプに基づいて、拡張機能を開発およびデプロイするための適切なメソッドを選択します。
自己構築サービスを使用した拡張機能の開発とデプロイメント:このメソッドは EventBridge のメッセージ配信機能に依存します。DataWorks メッセージが送信される EventBridge のイベントバスを指定し、イベントバス内のメッセージのルーティングサービスを構成していることを確認してください。
Function Compute を使用した拡張機能の開発とデプロイメント:DataWorks メッセージは、デフォルトで指定された FC 関数サービスにプッシュされます。OpenEvent でイベントバスを構成する必要はありません。
カスタム拡張機能を開発およびデプロイする:拡張機能で DataWorks によってプッシュされたイベントメッセージを受信して解析し、カスタムロジック判定を実装し、結果を DataWorks に返します。
拡張機能の開発とデプロイメント:自己構築サービスメソッド:イベントバスで最終的にメッセージがルーティングされるサービスプログラムを使用して DataWorks メッセージを受け入れ、メッセージに対して論理判定を行い、指定された API を介して処理結果をコールバックします。
拡張機能の開発とデプロイメント:Function Compute メソッド:拡張機能リクエストを受信し、拡張機能の処理結果を返すために、Function Compute の特定のインターフェイスを実装する必要があります。
拡張機能の登録:開発した拡張機能がどのタイプのイベントメッセージを受信して処理するかを DataWorks 側で定義します。
拡張機能のテスト:テストワークスペースで拡張機能が期待どおりに動作するかどうかを検証します。
拡張機能の送信と公開:問題がないことを確認した後、プラットフォームレビューのために拡張機能を送信します。レビューが承認されると、拡張機能はすべてのワークスペースで使用できるように公開されます。
説明拡張機能のレビューは通常、
T+3営業日以内に完了します。しばらくお待ちください。DataWorks のイベントメッセージは 3 日間有効です。有効期間を超えると、イベントメッセージは期限切れと見なされ、拡張機能によって処理されません。
サポートされている拡張ポイントイベント
次の表に、各 DataWorks サービスで拡張機能が処理できる拡張ポイントイベントのタイプと詳細を示します。
拡張機能を開発およびデプロイする際には、さまざまな拡張ポイントに対応する eventcode を使用する必要があります。各イベントの eventcode の詳細については、「開発リファレンス:イベントリストとメッセージフォーマット」をご参照ください。
拡張ポイントイベントは、標準モードのワークスペースでのみ公開できます。
拡張ポイントのインターセプト効果については、「アプリケーション例:データ開発中にイベントチェックをトリガーする」および「アプリケーション例:オペレーションセンターでイベントチェックをトリガーする」をご参照ください。
適用範囲 | システムモジュール | 拡張ポイントタイプ | 拡張ポイント | 検証結果をコールバックするための OpenAPI |
ワークスペースレベル | ファイル変更イベント
| ファイル削除前のイベント | UpdateIDEEventResult API を使用して、イベント処理結果を DataWorks にコールバックできます。 | |
ファイルコミット前のイベント | ||||
ファイル公開前のイベント | ||||
コード実行前のイベント | ||||
テーブル変更イベント | 本番環境へのテーブル送信前のイベント | |||
開発環境へのテーブル送信前のイベント | ||||
ノード変更イベント | タスクの有効化 | CallbackExtension API を使用して、イベント処理結果を DataWorks にコールバックできます。 | ||
バッチリアルタイムタスク | ||||
ノード変更イベント | ノード非公開前のイベント | UpdateWorkbenchEventResult API を使用して、イベント処理結果を DataWorks にコールバックできます。 | ||
ノード凍結前のイベント | ||||
ノード凍結解除前のイベント | ||||
データバックフィル操作イベント | データバックフィル前のイベント | |||
インスタンス変更イベント | インスタンス凍結前のイベント | |||
インスタンス凍結解除前のイベント | ||||
インスタンス終了前のイベント | ||||
インスタンス再実行前のイベント | ||||
インスタンスステータスを成功に設定する前のイベント | ||||
承認センターイベント | 権限リクエスト作成前のイベント | CallbackExtension API を使用して、イベント処理結果を DataWorks にコールバックできます。 | ||
Data Quality 検証イベント | Data Quality ルールの一括作成前のイベント | |||
Data Quality ルールの一括更新前のイベント | ||||
Data Quality ルール更新前のイベント | ||||
Data Quality ルールの一括削除前のイベント | ||||
Data Quality モニタリング作成前のイベント | ||||
Data Quality モニタリング更新前のイベント | ||||
Data Quality モニタリングクローン作成前のイベント | ||||
Data Quality モニタリングアラートサブスクリプション作成前のイベント | ||||
Data Quality モニタリングの一括削除前のイベント | ||||
Data Quality モニタリングアラートサブスクリプション更新前のイベント | ||||
Data Quality モニタリングアラートサブスクリプション削除前のイベント | ||||
テナントレベル | ワークスペース変更イベント | ワークスペース削除前のイベント | ||
データダウンロードイベント | データダウンロード (ファイル生成) 前のイベント | |||
データダウンロード (ファイルダウンロード) 前のイベント | ||||
データアップロード前のイベント |
付録:2 つのデプロイメントメソッドの比較
自己構築サービス | Function Compute | |
操作の難易度 | プロシージャは複雑で、サーバーとアプリケーションのデプロイメントが必要であり、ネットワークや運用保守の問題が発生しやすいです。 | プロシージャはシンプルです。単一の関数を使用して拡張機能を開発およびデプロイできます。 |
コスト | - | このメソッドでは Function Compute の料金が発生します。詳細については、「課金の概要」をご参照ください。 |
サポートされるイベント | このメソッドは、さまざまな拡張イベントをサポートしています。拡張イベントの詳細については、「開発リファレンス:イベントリストとメッセージフォーマット」をご参照ください。 | Function Compute ベースのデプロイメントメソッドは、データダウンロード前のイベント、データアップロード前のイベント、資産公開前のイベント、および資産非公開前のイベントのみをサポートします。 |