イベント通知を使用して、DLC ジョブ、パイプラインタスク、DSW インスタンスのステータス変化を追跡したり、モデルバージョンのステータスが変化したときに後続の操作を自動的にトリガーしたりできます。通知は EventBridge を通じて配信されます。作成した各イベントルールは、カスタムイベントバス上のイベントを評価し、設定したイベントターゲットに配信します。
1. EventBridge の有効化と権限付与 (初回のみ)
最初の通知ルールを作成する前に、EventBridge を有効化し、必要な権限を設定してください。これを行わないと、イベントルールを作成できません。
設定ページにアクセスするには、ワークスペース詳細に移動し、PAI ワークスペースを選択して、右上隅のワークスペース構成センター > イベント通知設定をクリックします。
1.1 EventBridge の有効化
「イベント通知設定」タブで、無料有効化 をクリックして EventBridge の有効化ページに移動します。 詳細については、「EventBridge の有効化」をご参照ください。
有効化後、PAI は各 PAI ワークスペースに対して pai-system-${workspace_name} という名前のカスタムイベントバスを自動的に作成します。EventBridge コンソールに移動し、ワークスペースが存在するリージョンに切り替えて、カスタムイベントバスを表示および管理できます。
1.2 PAIによるクラウドリソースへのアクセス許可
権限付与 をクリックします。システムは AliyunServiceRoleForPAIWorkspace サービスにリンクされたロールを自動的に作成します。これにより、PAI はお使いのクラウドリソースにアクセスできるようになります。このロールの詳細については、「付録: PAI ワークスペースのサービスにリンクされたロール」をご参照ください。
表示されるワンクリック認可ダイアログボックスで、[認可] をクリックします。
1.3 (オプション) RAM ユーザーへのイベント通知権限の付与
設定に Resource Access Management (RAM) ユーザー (サブアカウント) を利用する場合は、そのユーザーにイベントバスを管理する権限を付与してください。そうしないと、RAM ユーザーはイベントルールを作成または管理できません。
カスタムポリシーを作成し、RAM ユーザーにアタッチします。ポリシーの内容は次のとおりです。
{
"Statement": [{
"Effect": "Allow",
"Action": [
"eventbridge:CreateEventBus",
"eventbridge:GetEventBus",
"eventbridge:DeleteEventBus",
"eventbridge:ListEventBuses",
"eventbridge:CreateRule",
"eventbridge:GetRule",
"eventbridge:UpdateRule",
"eventbridge:EnableRule",
"eventbridge:DisableRule",
"eventbridge:DeleteRule",
"eventbridge:ListRules",
"eventbridge:PutEvents",
"eventbridge:UpdateTargets",
"eventbridge:DeleteTargets",
"eventbridge:ListTargets"
],
"Resource": "acs:eventbridge:*:*:eventbus/*"
}],
"Version": "1"
}2. イベントルールの作成
初期設定後、設定ページに戻り、ワークスペースの詳細に移動して、お使いの PAI ワークスペースを選択し、ワークスペース構成センター > イベント通知設定 の順にクリックします。通知ルールの新規作成 をクリックします。
表示される通知ルールの新規作成パネルで、ルール名とルールの説明 (最大 256 文字) を入力し、次にイベントタイプ、イベントスコープ、およびイベントターゲットを設定します。
2.1 イベントタイプの設定
監視したいイベントソースと特定のイベントタイプを選択します。 以下のイベントソースがサポートされています:
[フロータスク]:Designer パイプラインタスクのステータスを監視します。イベントタイプには以下が含まれます。
[タスクに失敗しました。]
[タスクが完了しました。]
[DLC ジョブ]: DLC ジョブのライフサイクルイベントを監視します。複数のイベントタイプを選択できます。イベントタイプには、以下が含まれます:
[ジョブの進行状況]:キューイング、入札開始、環境準備開始、実行開始、成功時に保持、失敗時に保持、ジョブの失敗、成功。
[自動フォールトトレランス]
[ジョブのタイムアウト]:環境準備のタイムアウト、待機のタイムアウト、キューのタイムアウト、実行のタイムアウト。タイムアウトイベントタイプを選択する場合は、まず スケジュール設定 でタイムアウトルールを設定してください。
[その他のイベント]:ジョブのプリエンプション (プリエンプトされるのはアイドルジョブとスポットジョブのみです)、ジョブの手動停止、ジョブ優先度の変更。
[モデル]:AI Asset Management のモデルバージョンのステータス変更を監視します。イベントタイプは次のとおりです:
[モデルバージョンは公開可能です。]:モデルバージョンはデプロイ用に承認されています。
モデルバージョンのステータス変更:モデルバージョンがデプロイメント用に承認または却下された場合にトリガーされます。
[DSW インスタンス]: DSW インスタンスおよびその保存済みランタイムイメージのステータス変更を監視します。複数のイベントタイプを選択できます。イベントタイプには以下が含まれます。
ステータス履歴: キューイング中、実行中、[インスタンスが削除されました。]、更新中、失敗、割り当て中、リカバリ中、起動中、および環境準備中。
[イメージの保存]:イメージの保存中、イメージの保存完了、イメージの保存失敗、イメージの保存タイムアウト。
[インスタンスの停止]:インスタンス停止済み、停止中。
2.2 イベントターゲットの設定
イベントが発生したときに通知を配信する方法と場所を設定します。なお、HTTP/HTTPS ターゲットはモデルイベントタイプにのみ適用されます。
[DingTalk 通知]: Webhook と署名キーのパラメーターを設定します。 詳細については、「付録:Webhook と署名キー」をご参照ください。 パラメーターを設定した後、接続のテスト をクリックして接続検証を実行します。
[WeCom 通知]: WeCom メッセージの Webhook URL を設定します。
[Lark 通知]: カスタム Lark ボットの webhook URL を設定します。
[HTTP/HTTPS]:モデルバージョンのステータスが変化したときに、指定された URL を自動的に呼び出します。このターゲットは [モデル] イベントタイプにのみ適用され、受信 API は必要なテンプレートに基づいてリクエストを解析する必要があります。
デフォルトでは、各イベントルールは最大 5 つのイベントターゲットをサポートします。このクォータが要件を満たさない場合は、クォータの引き上げをリクエストしてください。最大 100 を推奨します。
よくある質問
**Q:イベント通知設定ページを開くと、次のエラーが発生します: ServiceNotEnable**
このエラーは、EventBridge が有効化されていないことを示しています。まず EventBridge を有効化 してください。
付録:DingTalk ボットの Webhook URL と署名キーの取得
通知を受信したい DingTalk グループで、グループボットダイアログボックスを開きます。
グループチャットウィンドウの右上隅にある設定アイコンをクリックし、[グループ設定] パネルで [ボット] をクリックしてから、ボット管理パネルで [ロボットを追加] をクリックします。
[ロボットを追加] ダイアログボックスに移動します。
ボットリストで [カスタム] (Webhook を使用してカスタムサービスに接続) を選択し、[追加] をクリックします。
[ロボットを追加] ダイアログボックスで、次のパラメータを設定し、署名キーをコピーしてから、[完了] をクリックします。
説明コピーした署名キーをローカルデバイスに保存して、後で使用できるようにしてください。
[ボット名] を入力します。[セキュリティ設定] セクションで、[署名] を選択して署名を追加し、[コピー] をクリックして署名キーを取得し、[同意する] を選択してから、[完了] をクリックします。
[ロボットを追加] ダイアログボックスで、[コピー] と [完了] をクリックします。
説明Webhook URL をローカルデバイスに保存して、後で使用できるようにしてください。
漏洩を防ぐため、Webhook URL を外部ウェブサイトに公開しないでください。
手順 3 と手順 4 で取得した署名キーと Webhook URL が、イベント通知設定 でイベントルールを作成する際に設定する [署名キー] と [Webhook URL] の値です。