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