DataWorks Open Platform で拡張を登録、公開、および有効化すると、関連するワークスペースで拡張ポイントイベントがトリガーされるたびに、DataWorks は拡張にイベントメッセージを送信します。拡張の応答に基づいて、DataWorks は操作を許可するかどうかを判断します。このトピックでは、DataStudio がサポートする拡張ポイントイベントと、それらを使用して拡張をトリガーする方法について説明します。
前提条件
-
メッセージサブスクリプションを有効化していること。詳細については、「メッセージサブスクリプションの有効化」をご参照ください。
-
拡張を開発およびデプロイしていること。詳細については、「Function Compute を使用した拡張の開発とデプロイ」をご参照ください。
背景
-
拡張の有効化
[管理センター] ページでは、Extensions を表示し、現在のワークスペースの拡張機能チェックを有効化または無効化できます。
-
データ開発における拡張ポイントイベント
DataWorks の DataStudio モジュールは、ファイル公開前、ファイルコミット前、テーブル送信前などの拡張ポイントイベントをサポートしています。拡張ポイントイベントの詳細なリストと関連する概念については、「サポートされている拡張ポイントイベントのリスト」をご参照ください。
-
DataWorks は拡張ポイントイベントのメッセージ通知を送信できます。拡張はこれらのイベントを自動的に検証し、応答できます。トリガープロセスの詳細については、「サポートされている拡張ポイントイベント」をご参照ください。
制限
拡張が有効化されている場合、データ開発中にトリガーされるイベントのメッセージ通知と応答には、以下の制限が適用されます。
-
組み込み拡張が有効化されている場合、ODPS SQL ノードのみをサポートします。
つまり、ODPS SQL ノードに対して拡張ポイントイベントがトリガーされると、プロセスがブロックされます。組み込み拡張はロジックを検証し、結果を返します。ODPS SQL ノード以外のノードに対してイベントがトリガーされた場合も、プロセスはブロックされますが、組み込み拡張は検証を実行せず、すぐに成功結果を返します。
-
[公開前テーブルイベント] と [送信前テーブルイベント] は、MaxCompute テーブルの場合にのみトリガーされる拡張ポイントイベントです。
-
do-while ノードや for-each ノードなど、内部ノードを含む複合ノードの場合、すべての内部ノードがチェックに合格しないと、次の操作に進むことができません。
機能の概要
ローカルサービスまたはプログラムを DataWorks 拡張として登録することで、DataStudio モジュールの特定の拡張ポイントイベントのメッセージを受信できます。これにより、カスタムロジックを実装してこれらのイベントを処理し、UpdateIDEEventResult API へのコールバックを使用して結果をプラットフォームに返すことができます。この方法により、DataWorks でのプロセス制御が可能になります。サポートされている拡張ポイントは次のとおりです。
-
ファイル操作:ファイルの実行、コミット、公開、および削除。
-
テーブル操作:テーブルの送信と公開。
説明DataStudio のテーブル操作拡張イベントは、MaxCompute テーブルに対してのみトリガーされます。
サポートされている拡張ポイントイベント
DataStudio では、拡張を使用して以下の拡張ポイントイベントを検証し、応答を返すことができます。
DataStudio - ファイルの実行 DataStudio コードエディターで [実行] ボタンをクリックすると、拡張の事前チェックイベントがトリガーされます。「チェック中 - チェックに合格すると操作が自動的に実行されます。結果は [操作チェック] で確認できます。」というメッセージとともに [チェック中] のオーバーレイが表示されます。左側の [操作チェック] パネルでは、すべてのチェックレコード (実行、ファイルコミット、削除などのタイプを含む) を表示できます。レコードをクリックすると、詳細ダイアログボックスが開き、各拡張のチェックタイプ、ステータス、および詳細を確認できます。
DataStudio - ファイルの送信 DataStudio でファイルを送信すると、システムはファイルコミット前イベントチェックをトリガーします。ツールバーの [送信] ボタンをクリックすると、拡張チェックがトリガーされます。エディターには「チェック中」のプロンプトが表示され、チェックに合格すると操作が自動的に実行されます。左側の [操作チェック] パネルで各チェック項目のステータスを確認できます。リストには「'Trigger file pre-commit event check'」と表示されます。
DataStudio - ファイルの公開 コードエディターでファイルを送信するために [公開] ボタンをクリックすると、システムは拡張チェックをトリガーします。[デプロイメントパッケージの作成] インターフェイスが表示され、ファイルリスト内の対応するノードのステータスが [チェックおよび検証中] と表示されます。ノードステータスをクリックすると、[操作チェック] ダイアログボックスが開き、チェックタイプ、ステータス、および検証の詳細を確認できます。
DataStudio - ファイルの削除 DataStudio ファイルツリーで、対象ノードを右クリックし、[削除] を選択します。この操作により、拡張プログラムから事前チェックイベントがトリガーされます。ページ下部に「この操作はチェックをトリガーしました。チェックに合格すると操作が自動的に有効になります。チェック結果は「操作チェック」で確認してください。」という青い通知が表示されます。[操作チェック] ページに移動して、チェックレコードのリストを表示します。リストには、名前/操作時刻、タイプ、およびステータスの列が含まれます。特定のレコードをクリックして、操作チェックの詳細を表示します。詳細には、「削除前の複合テスト」などのチェックタイプと、「チェック中」などの現在のステータスが含まれます。ページには [詳細を表示] および [ドキュメントを表示] のリンクも表示されます。
DataStudio - テーブルの送信 テーブル (xc_table_prod など) を開発環境または本番環境に送信すると、システムは拡張プログラムから事前チェックを自動的にトリガーします。「チェック中 - チェックに合格すると操作が自動的に実行されます。結果は操作チェックで確認してください。」というメッセージとともに [チェック中] ダイアログボックスが表示されます。左側の [操作チェック] サイドバーでは、タイプとステータスですべてのチェックレコードをフィルタリングして表示できます。特定のレコードをクリックすると、操作チェックの詳細ダイアログボックスが開きます。このダイアログボックスには、現在の操作によってトリガーされた拡張プログラム検証のリスト (「テーブルの送信前チェック - テストプログラム」チェックタイプなど) とその検証ステータスが表示されます。[詳細を表示] および [再チェック] 操作をサポートしています。
DataStudio - テーブルの公開 テーブル設定ページで [本番環境へ送信] タブをクリックすると、拡張チェックがトリガーされます。その後、システムは「チェック中 - チェックに合格すると操作が自動的に実行されます。結果は「操作チェック」で確認してください。」というプロンプトを表示します。[操作チェック] ページに移動して、チェックレコードのリストを表示します。リストには、テーブル名、送信時刻、チェックタイプ、およびステータスが含まれます。レコードをクリックして詳細を表示します。詳細には、チェックタイプ (テーブル公開前チェックなど) と現在のステータスが含まれます。[詳細を表示] および [ドキュメントを表示] をクリックすることもできます。この操作は、ワークスペース内のテーブルの公開前イベントタイプに対して有効化された拡張の検証をトリガーします。
参考資料
-
拡張の使用に関する詳細については、「拡張の使用」をご参照ください。
-
DataStudio は追加の拡張ポイントイベントをサポートしています。詳細については、「サポートされている拡張ポイントイベントのリスト」をご参照ください。
-
ファイル変更イベントのメッセージエンティティ形式の詳細については、「ファイル変更イベント (コミット、公開、実行、削除、およびコードレビュー)」をご参照ください。
-
テーブル変更イベントのメッセージエンティティ形式の詳細については、「テーブル変更イベント (開発環境へのテーブル送信と本番環境へのテーブル公開)」をご参照ください。