DataWorks の OpenEvent モジュールは、EventBridge を使用してイベントメッセージのサブスクリプションおよび送信サービスを提供します。EventBridge でカスタムイベントバスを作成した後、DataWorks でイベントディストリビューションチャンネルを設定する必要があります。これにより、DataWorks はイベントを公開できるようになり、EventBridge でルールを作成してこれらのイベントを管理できます。このトピックでは、イベントメッセージサブスクリプションサービスを有効にし、カスタムイベントバスを設定する方法について説明します。
適用範囲
バージョン制限:DataWorks Enterprise Edition のみがサポートされています。
リージョン制限:この機能は、中国 (北京)、中国 (杭州)、中国 (深セン)、中国 (上海)、中国 (張家口)、中国 (成都)、米国 (シリコンバレー)、米国 (バージニア)、ドイツ (フランクフルト)、日本 (東京)、中国 (香港)、シンガポールでのみサポートされています。
アクセス制御:開発者バックグラウンドに対する読み取りおよび書き込み権限を持つのは、[オープンプラットフォーム管理者]、[テナント管理者]、Alibaba Cloud アカウント、または AliyunDataWorksFullAccess 権限を持つ RAM ユーザーのみです。詳細については、「グローバルモジュールレベルのアクセス制御」および「プロダクトとコンソールのアクセス制御の詳細:RAM ポリシー」をご参照ください。
関連プロダクト:OpenEvent は、メッセージのサブスクリプションと消費に EventBridge を使用します。まず EventBridge を有効化する必要があります。
注意事項
DataWorks Enterprise Edition のサブスクリプションの有効期限が切れると、すべての拡張機能が無効になり、イベントチェックをトリガーできなくなります。トリガーされたものの、まだ最終状態に達していないチェックは自動的にパスします。
仕組み
DataWorks は、コアプロセスのステータス変更メッセージを公開します。DataWorks オープンプラットフォームの OpenEvent モジュールでは、DataWorks ワークスペースを EventBridge イベントバスにマッピングできます。この設定により、ワークスペースから公開されたすべてのメッセージが指定されたイベントバスにプッシュされます。その後、EventBridge でこれらのメッセージを管理できます。たとえば、下流システムで必要なメッセージをフィルタリングし、それらのメッセージを配信する方法と場所を定義できます。
テナントレベルのモジュールでの操作から得られるメッセージは、EventBridge の Default という名前のデフォルトイベントバスに自動的にプッシュされます。サポートされているテナントレベルのイベントのリストについては、「テナントレベルのイベント」をご参照ください。
DataWorks での設定
イベントメッセージを EventBridge イベントバスにプッシュするには、DataWorks でイベントディストリビューションチャンネルを設定する必要があります。以下の手順に従って、DataWorks が EventBridge にアクセスする権限を付与し、メッセージを受信するイベントバスを指定します。
ステップ 1:サービス認可の付与
初めて OpenEvent サービスを使用する場合、Alibaba Cloud アカウント (root ユーザー) または AliyunDataWorksFullAccess ポリシーを持つ RAM ユーザーを使用して、DataWorks が EventBridge にアクセスする権限を付与します。
[デベロッパー バックエンド] タブに移動します。
DataWorks コンソールにログインします。上部のナビゲーションバーで、目的のリージョンを選択します。左側のナビゲーションウィンドウで、 を選択します。表示されたページで、[オープンプラットフォームへ] をクリックします。[開発者バックグラウンド] タブが表示されます。
[開発者バックグラウンド] ページで、左側のナビゲーションウィンドウにある [OpenEvent] をクリックして、[OpenEvent] ページに移動します。
DataWorks が EventBridge リソースにアクセスする権限を付与します。
初めてこのサービスを使用する場合、[今すぐ権限付与] ボタンが表示されます。画面の指示に従って、DataWorks が EventBridge リソースにアクセスする権限を付与します。この権限付与により、AliyunServiceRoleForDataWorksOpenPlatform という名前のサービスリンクロールが自動的に作成されます。このロールは、Resource Access Management (RAM) コンソールの で確認できます。
ステップ 2:イベントディストリビューションチャンネルの設定
イベントディストリビューションチャンネルは、DataWorks ワークスペースを EventBridge イベントバスにマッピングし、ワークスペースから公開されたすべてのメッセージがその特定のバスにプッシュされるようにします。
[イベントディストリビューションチャンネルの追加] をクリックします。表示されるダイアログボックスで、[イベントディストリビューションのワークスペース] と [ディストリビューション用の EventBridge カスタムイベントバス] パラメーターを設定します。
EventBridge で利用可能なイベントバスがない場合は、[カスタムイベントバスの作成] をクリックして [EventBridge] コンソールに移動し、作成できます。または、[ワークスペースと同じ名前でカスタムイベントバスをクイック作成] をクリックして、すぐにイベントバスを生成することもできます。

ステップ 3:イベントディストリビューションチャンネルの有効化
イベントディストリビューションチャンネルを設定すると、OpenEvent ページで確認できます。[操作] 列で、チャンネルを [削除]、[有効化]、または [無効化] できます。
[有効化]:チャンネルを有効にすると、ワークスペースからのイベントメッセージが対応するイベントバスにプッシュされます。
その後、EventBridge コンソールに移動して、DataWorks からプッシュされたすべてのイベントメッセージを表示し、特定のメッセージをフィルタリングし、どのサービスがどのように受信するかを定義できます。
[無効化]/[削除]:チャンネルを無効化または削除すると、DataWorks はワークスペースからのイベントメッセージの対応するイベントバスへのプッシュを停止します。EventBridge を通じてこれらのイベントメッセージを受信できなくなります。
EventBridge での設定
DataWorks でイベントディストリビューションチャンネルを有効にすると、DataWorks は公開されたメッセージを指定された EventBridge イベントバスに自動的にプッシュします。その後、EventBridge でフィルタリングを設定して、どのメッセージを消費するかを選択し、それらをどのようにどこに配信するかを定義する必要があります。
ステップ 1:カスタムイベントバスの作成
「ステップ 2:イベントディストリビューションチャンネルの設定」で DataWorks ワークスペースと同じ名前のカスタムイベントバスを作成した場合、そのバスを直接使用できます。[カスタムイベントバスの作成] をクリックした場合は、以下の手順に従って作成します。詳細については、「イベントバスの概要」をご参照ください。
EventBridge コンソールにログインし、左側のナビゲーションウィンドウで [イベントバス] をクリックします。
[イベントバス] ページで、[カスタムイベントバス] タブに移動し、[クイック作成] をクリックします。次の例では、
DataWorks2023という名前のカスタムイベントバスを作成します。バスを迅速に作成するには、[名前] と [説明] を設定するだけで済みます。[イベントソース]、[イベントルール]、および [イベントターゲット] のステップはスキップできます。
ステップ 2:イベントルールの設定
イベントバスを作成した後、手動でイベントルールを設定して、DataWorks のイベントメッセージを対応するサービスにプッシュできます。
左側のナビゲーションウィンドウで、[イベントバス] をクリックします。ターゲットのイベントバスを見つけ、[操作] 列の をクリックして、イベントルールの設定ページに移動します。
[イベントルール] ページで、左上隅の [ルールの作成] をクリックします。
[基本情報の設定]:イベントルールの名前と説明を入力します。

[イベントパターンの設定]:イベントパターンは、メッセージの内容に基づいてメッセージをフィルタリングします。次の例のようにパラメーターを設定します。
[イベントソースタイプ]:[カスタムイベントソース] を選択します。
[イベントソース]:デフォルト値のままにします。
[パターン内容]:JSON 形式を使用してイベントメッセージタイプを指定します。各 DataWorks イベントメッセージには固定のタイプがあります。「リファレンス:イベントリストとメッセージ形式」で各操作に対応するメッセージタイプを見つけ、それをパターン内容の
typeキーの値として使用します。{ "source": [ "acs.dataworks" ], "type": [ "dataworks:InstanceStatusChanges:InstanceStatusChanges" ] }
[イベントパターンのデバッグ]:イベントパターンを設定した後、デバッグして期待どおりに動作することを確認できます。
DataWorks で「ステップ 3:イベントディストリビューションチャンネルの有効化」をすでに完了している場合、イベントメッセージは EventBridge に送信されています。パターンをテストするには、[イベント追跡] ページに移動し、バスの DataWorks からのイベントを見つけて、その詳細をコピーします。詳細を [イベントパターンデバッグ] セクションに貼り付け、[テスト] をクリックしてフィルターを検証します。
イベントタイプが一致しない場合、テストを実行すると[一致に失敗しました] というメッセージが表示されます。
イベントタイプが一致すると、テストで [一致成功、イベントは正常にトリガーできます] というメッセージが表示されます。
イベントターゲットの設定:カスタムサービスに加えて、さまざまな他のターゲットにイベントをプッシュできます。詳細については、「イベントターゲットの概要」をご参照ください。
説明図の設定は、メッセージが指定された HTTPS サービスにプッシュされることを示しています。拡張機能がこのメッセージを受信するようにしたい場合は、サービスタイプとして HTTPS を選択し、[URL] フィールドに拡張機能のデプロイメントアドレスを入力します。
イベントルールを設定して保存すると、EventBridge は DataWorks のイベントメッセージをルーティングします。これにより、[拡張機能] 機能もサポートされます。
プッシュされたイベントメッセージの表示
DataWorks のイベントディストリビューションチャンネルが有効で、DataWorks でイベントがトリガーされると、関連するイベントバスの [イベント追跡] ページでプッシュされたイベントメッセージを表示できます。タイプに基づいてさまざまなイベントメッセージを見つけることができます。イベントタイプのリストについては、「リファレンス:イベントリストとメッセージ形式」をご参照ください。

ベストプラクティス
ローカルサービスからのメッセージをサブスクライブする:ベストプラクティス:カスタムタスクのデプロイメントロックダウン。