DataWorks Open Platform の OpenEvent モジュールを使用すると、EventBridge を使用してイベントメッセージをサブスクライブおよび使用できます。EventBridge でカスタムバスを作成した後、EventBridge でイベントルールを作成してイベントを公開する前に、DataWorks でイベント配信チャネルを構成する必要があります。このトピックでは、DataWorks でイベントメッセージサブスクリプション機能を有効化し、EventBridge でカスタムバスを構成する方法について説明します。
前提条件
DataWorks Enterprise Edition は、次のいずれかのリージョンでアクティブ化されます。
中国 (北京)、中国 (杭州)、中国 (深圳)、中国 (上海)、中国 (張家口)、中国 (成都)、米国 (シリコンバレー)、米国 (バージニア)、ドイツ (フランクフルト)、日本 (東京)、中国 (香港)、シンガポール。DataWorks Open Platform の OpenEvent モジュールは、これらのリージョンの DataWorks Enterprise Edition ユーザーのみが使用できます。
EventBridge がアクティブ化されていること。DataWorks Open Platform の OpenEvent モジュールは、メッセージをサブスクライブおよび使用するために EventBridge のメッセージ配信機能に依存しています。そのため、EventBridge をアクティブ化する必要があります。 EventBridge の詳細については、「EventBridge とは」をご参照ください。
注意事項
[open Platform 管理者]、[テナント管理者]、Alibaba Cloud アカウント、および [aliyundataworksfullaccess] ポリシーがアタッチされている RAM ユーザーのみが、開発者バックエンドに対する読み取りおよび書き込み権限を持っています。権限管理の詳細については、「グローバルレベルのサービスの権限を管理する」および「RAM ポリシーを使用して DataWorks サービスおよび DataWorks コンソール内のエンティティの権限を管理する」をご参照ください。
DataWorks Enterprise Edition の有効期限が切れると、拡張機能は無効になり、拡張ポイントイベントをチェックするためにトリガーできなくなります。拡張機能がイベントをチェックするためにトリガーされ、DataWorks Enterprise Edition の有効期限が切れる前にチェックが完了しない場合、チェックは終了し、結果は「チェック合格」として返されます。
しくみ
DataWorks は、主要プロセスのステータス変更イベントのメッセージのサブスクリプションをサポートしています。DataWorks Open Platform の OpenEvent モジュールでは、DataWorks ワークスペースと EventBridge イベントバス間のマッピングを構成できます。これにより、DataWorks ワークスペース内のすべてのオープンメッセージを指定された EventBridge イベントバスにプッシュできます。その後、EventBridge コンソールに移動して、メッセージの管理をさらに進めることができます。たとえば、DataWorks から EventBridge に送信されたすべてのイベントメッセージから使用したいイベントメッセージを検索し、イベントメッセージの受信に使用するサービスの種類、またはイベントメッセージの使用方法を指定できます。
テナントレベルのサービスで実行された操作によって生成されたメッセージは、EventBridge のデフォルトのイベントバスに自動的にプッシュされます。
DataWorks
DataWorks では、イベントメッセージを EventBridge イベントバスにプッシュするために、イベント配信チャネルを構成する必要があります。DataWorks が EventBridge にアクセスすることを承認し、DataWorks ワークスペースから EventBridge にプッシュされたオープンメッセージを受信するために使用する EventBridge イベントバスを指定するには、DataWorks で次の手順を実行する必要があります。
手順 1:DataWorks が EventBridge にアクセスすることを承認する
OpenEvent モジュールを初めて使用する場合は、AliyunDataWorksFullAccess ポリシーがアタッチされた Alibaba Cloud アカウントまたは RAM ユーザーを使用して、以下の手順を実行し、DataWorks が EventBridge にアクセスできるようにする必要があります。
[Open Platform] ページに移動します。
DataWorks コンソール にログオンします。上部のナビゲーションバーで、目的のリージョンを選択します。左側のナビゲーションペインで、 を選択します。 [開発者バックエンド] タブが表示されます。
[openevent] ページに移動します。
[開発者バックエンド] ページの左側のナビゲーションペインで、[openevent] をクリックします。 [openevent] ページが表示されます。
DataWorks が EventBridge リソースにアクセスすることを承認します。
EventBridge を初めて使用する場合、[今すぐ承認] ボタンが「EventBridge を使用したイベントメッセージサブスクリプション」セクションに表示されます。EventBridge を使用するには、画面の指示に従って DataWorks が EventBridge リソースにアクセスすることを承認 します。承認が完了すると、サービスリンクロール AliyunServiceRoleForDataWorksOpenPlatform が作成されます。 RAM コンソール にログオンし、左側のナビゲーションペインで を選択して、サービスリンクロールを表示できます。サービスリンクロールの詳細については、「付録: DataWorks サービスリンクロール」トピックの AliyunServiceRoleForDataWorksOpenPlatform ロールの権限を表示する セクションをご参照ください。
手順 2:イベント配信チャネルを構成する
イベント配信チャネルは、DataWorks ワークスペースを EventBridge イベントバスにマッピングします。イベント配信チャネルを使用して、DataWorks ワークスペース内のすべてのオープンメッセージを EventBridge イベントバスにプッシュできます。
[openevent] ページに移動します。
[開発者バックエンド] ページの左側のナビゲーションペインで、[openevent] をクリックします。 [openevent] ページが表示されます。
イベント配信チャネルを構成します。
[EventBridge を使用したイベントメッセージのサブスクリプション] セクションで、[イベント配信チャネルを追加] をクリックします。 [イベント配信チャネルを追加] ダイアログボックスで、[イベントメッセージ配信用のワークスペース] パラメーターと [イベントメッセージ配信用の Eventbridge でのカスタムイベントバスの指定] パラメーターを構成します。
説明EventBridge で使用可能なイベントバスがない場合は、ダイアログボックスの [カスタムイベントバスを作成] をクリックして [eventbridge] コンソールに移動し、カスタムイベントバスを作成できます。また、ダイアログボックスの [ワークスペースと同じ名前のカスタムイベントバスをすばやく作成] をクリックして カスタムイベントバスをすばやく生成することもできます。
テナントレベルのサービスで実行された操作によって生成されたメッセージは、
defaultイベントバスEventBridgeに自動的にプッシュされます。テナントレベルのサービスで実行された操作によって生成されたイベントメッセージを受信する場合は、この手順をスキップします。

手順 3:イベント配信チャネルを有効にする
イベント配信チャネルを構成した後、作成されたイベント配信チャネルを [OpenEvent] ページで表示できます。作成されたイベント配信チャネルを見つけて、[アクション] 列の [削除]、[有効化]、または [無効化] をクリックして、イベント配信チャネルで関連する操作を実行できます。
[有効化]:イベント配信チャネルを有効化すると、ワークスペースのイベントメッセージがマッピングされた EventBridge イベントバスにプッシュされます。
EventBridge コンソールでは、DataWorks から EventBridge にプッシュされたすべてのイベントメッセージを表示し、使用したいイベントメッセージを検索し、イベントメッセージの受信に使用するサービスの種類、またはイベントメッセージの使用方法を指定できます。
[無効化]:イベント配信チャネルを無効化すると、ワークスペースのイベントメッセージはマッピングされた EventBridge イベントバスにプッシュされなくなります。EventBridge を使用してイベントメッセージを受信することはできません。
[削除]:イベント配信チャネルを削除すると、ワークスペースのイベントメッセージはマッピングされた EventBridge イベントバスにプッシュされなくなります。EventBridge を使用してイベントメッセージを受信することはできません。
イベント配信チャネルの [アクション] 列の [有効化] をクリックすると、イベント配信チャネルが有効になります。イベント配信チャネルを使用してマッピングされたイベントバスに配信されるメッセージは、特定のイベントルールに基づいて構成されたイベントターゲットにプッシュされます。
EventBridge
DataWorks でイベント配信チャネルを有効化すると、DataWorks はオープンメッセージをマッピングされた EventBridge イベントバスに自動的にプッシュします。EventBridge では、DataWorks から EventBridge に送信されたすべてのイベントメッセージから使用したいイベントメッセージを検索するためのフィルターを構成し、イベントメッセージの受信に使用するサービスの種類、またはイベントメッセージの使用方法を指定する必要があります。
手順 1:(オプション)カスタムイベントバスを作成する
手順 2:イベント配信チャネルを構成する で [ワークスペースと同じ名前のカスタムイベントバスをすばやく作成] をクリックしてカスタムイベントバスを作成した場合は、作成されたカスタムイベントバスを直接使用します。 [カスタムイベントバスを作成] をクリックすると、EventBridge にリダイレクトされてカスタムイベントバスが作成されます。この場合は、次の手順を実行します。EventBridge の詳細については、「概要」をご参照ください。
EventBridge コンソール にログオンします。左側のナビゲーションペインで、[イベントバス] をクリックします。
[イベントバス] ページの右上隅にある [すばやく作成] をクリックして、カスタムイベントバスを作成します。このトピックでは、
DataWorks2023という名前のカスタムイベントバスが作成されます。
[カスタムイベントバスを作成] パネルで、カスタムイベントバスの [名前] パラメーターと [説明] パラメーターを構成した後、[イベントソース]、[イベントルール]、および [イベントターゲット] の手順をスキップして、イベントバスをすばやく作成できます。
テナントレベルのサービスで実行された操作によって生成されたメッセージは、
defaultイベントバスEventBridgeに自動的にプッシュされます。テナントレベルのサービスで実行された操作によって生成されたイベントメッセージを受信する場合は、この手順をスキップします。
手順 2:イベントルールを構成する
カスタムイベントバスを作成した後、イベントバスのイベントルールを手動で構成できます。これにより、DataWorks のイベントメッセージを対応するサービスにプッシュできます。
EventBridge コンソール にログオンします。
イベントルールを構成します。
左側のナビゲーションペインで、[イベントバス] をクリックします。 [イベントバス] ページで、データフィルタリングを構成し、イベントメッセージの受信に使用するサービスの種類を指定する EventBridge イベントバスを見つけて、[アクション] 列の [イベントルール] をクリックします。
基本情報の構成
表示されるページの左上隅にある [ルールの作成] をクリックします。 [ルールの作成] パネルの [基本情報の構成] 手順で、パラメーターを構成し、[次の手順] をクリックします。

[名前]:イベントルール名。
[説明]:イベントルールの説明。
イベントパターンの構成
[ルールの作成] パネルの [イベントパターンの構成] 手順で、使用したいイベントメッセージを検索するためのイベントパターンを構成します。設定例:
イベントソースタイプ:[カスタムイベントソース] を選択します。
イベントソース:デフォルト値を保持します。
パターンコンテンツ:JSON データを使用して、イベントメッセージのタイプを構成します。DataWorks では、各イベントメッセージには固定タイプがあります。 開発リファレンス:イベントメッセージとイベントメッセージの形式 を参照して、DataWorks で実行された対応する操作によって生成されたイベントメッセージのタイプを取得し、JSON データの type キーの値としてイベントメッセージタイプを構成できます。
{ "source": [ "acs.dataworks" ], "type": [ "dataworks:InstanceStatusChanges:InstanceStatusChanges" // インスタンスステータス変更イベントのタイプ ] }
イベントパターンをデバッグして、パターンが期待どおりかを確認します。
DataWorks で 手順 3:イベント配信チャネルを有効にする を完了すると、DataWorks イベントメッセージを EventBridge に送信できます。EventBridge の イベントトラッキング ページで、イベントを見つけて [アクション] 列の [イベントの詳細] をクリックし、[イベントの詳細] メッセージの内容をコピーして、[イベントパターンのデバッグ] の下のコードエディターに貼り付けます。次に、[テスト] をクリックして、[パターンコンテンツ] で構成されたイベントメッセージタイプがコードエディターのイベントメッセージタイプと一致するかどうかを確認します。
イベントメッセージタイプが一致しない場合は、[テスト] をクリックした後、[一致に失敗しました。] メッセージが表示されます。
イベントメッセージタイプが一致する場合は、[テスト] をクリックした後、[一致に成功しました。イベントは期待どおりにトリガーされます。] メッセージが表示されます。
イベントターゲットの構成
イベントメッセージは、セルフマネージドサービスだけでなく、他のサービスにもプッシュして使用できます。詳細については、「概要」をご参照ください。
説明前の図は、イベントメッセージが指定された HTTPS サービスにプッシュされることを示しています。拡張機能がイベントメッセージを受信するようにするには、[サービスタイプ] パラメーターを [HTTPS] に設定し、[URL] パラメーターを拡張機能のデプロイアドレスに設定する必要があります。
[作成] をクリックします。イベントルールを作成した後、EventBridge を使用して DataWorks イベントメッセージを配信およびルーティングできます。イベントメッセージサブスクリプション機能は、DataWorks Open Platform の 拡張機能 モジュールもサポートしています。
ベストプラクティス
ローカルサービスによるイベントメッセージのサブスクリプション:「ロックダウンを実行するための DataWorks Open Platform の設定の構成に関するベストプラクティス」をご参照ください。
付録:プッシュされたイベントメッセージを表示する
DataWorks でイベント配信チャネルを有効にした後、イベント配信チャネルで構成されたワークスペースでイベントがトリガーされると、ワークスペースにマッピングされたイベントバスを見つけて、EventBridge の イベントトラッキング ページでイベントタイプに基づいてイベントメッセージを表示できます。イベントタイプの詳細については、「開発リファレンス:イベントメッセージとイベントメッセージの形式」をご参照ください。
