Container RegistryはEventBridgeと連携してイベント通知機能を提供します。 イメージレプリケーション、イメージビルド、イメージスキャン、配信チェーンの実行、またはイメージ署名中に発生したステータス変更に関する通知を受け取る場合は、DingTalk、HTTPゲートウェイ、またはHTTPSゲートウェイを使用できます。
前提条件
Container Registry Enterprise Editionインスタンスが作成されました。 詳細については、「Container Registry Enterprise Editionインスタンスの作成」をご参照ください。
EventBridgeが有効です。 詳細については、「EventBridgeの有効化とRAMユーザーへの権限付与」をご参照ください。
注意事項
イベント通知機能は、Container RegistryのChina East 1 Finance、China East 2 Finance、China South 1 Finance、China North 2 Ali Gov 1、オーストラリア (シドニー) (サービス終了)、および英国 (ロンドン) リージョンでは使用できません。
リージョンに許可されるイベントルールの最大数は10です。 EventBridgeとContainer Registryで個別に最大10個のイベントルールを作成できます。 最大数に達した場合は、不要になったイベントルールを削除できます。
EventBridgeのイベントIDで照会できるのは、3日以内のイベントのみです。
DingTalkを使用してイベント通知を送信する場合、DingTalkチャットボットの制限により、各DingTalkチャットボットは1分あたり最大20件のメッセージをグループに送信できます。 イベント通知の数が20を超えると、DingTalkチャットボットは10分間抑制されます。
Container Registryでイベントルールを作成した後、EventBridgeの通知タイプなどのイベントルールの情報を変更できます。 詳細については、「イベントターゲットの変更」をご参照ください。
重要EventBridgeでイベントルールを変更し、Container Registryでイベントルールを変更すると、Container Registryの既定のイベントルールがEventBridgeのイベントルールを上書きします。 たとえば、EventBridgeでイベント通知テンプレートを変更し、Container Registryでイベントルールの有効範囲を変更すると、Container Registryの既定のイベント通知テンプレートがEventBridgeのイベント通知テンプレートを上書きします。 EventBridgeでのイベント通知テンプレートの変更は、Container Registryと同期されず、有効になりません。
ステップ1: DingTalkチャットボットを作成する
DingTalkを使用して通知を送信する場合にのみ、この手順を実行する必要があります。
チャットボットを追加するDingTalkグループチャットを開き、右上隅にあるアイコンをクリックします。
グループ設定パネル、クリックグループアシスタント.
[グループアシスタント] ダイアログボックスで、[ロボットの追加] をクリックし、[ロボットの追加] の横にあるアイコンをクリックします。
チャットボットダイアログボックスで、カスタム.
ロボットの詳細ダイアログボックスで、追加.
[ロボットの追加] パネルでチャットボット名を指定し、[署名] と [読み取り] と [DingTalkカスタムロボットサービス利用規約] を選択し、[完了] をクリックします。 もう一度 [完了] をクリックします。
チャットボットダイアログボックスで、作成したチャットボットの横にあるアイコン。
[設定] ダイアログボックスで、webhookアドレスと署名キーをコピーし、[完了] をクリックします。
ステップ2: イベントルールの作成
Container Registryコンソールにログインします。
上部のナビゲーションバーで、リージョンを選択します。
左側のナビゲーションウィンドウで、[インスタンス] をクリックします。
[インスタンス] ページで、管理するEnterprise Editionインスタンスをクリックします。
インスタンスの詳細ページの左側のナビゲーションウィンドウで、 .
イベントルールタブをクリックします。ルールの作成.
[イベントスコープ] ステップで、パラメーターを設定し、[次へ] をクリックします。 下表にパラメーターを示します。
パラメーター
説明
ルール名
イベントルールの名称を指定します。
イベントタイプの意味
イベント通知をトリガーするイベントの種類を指定します。 次のイベントタイプがサポートされています。
cr:Artifact:SynchronizationCompleted: イメージの同期が成功、失敗、またはキャンセルされます。
^ a b c / / m / m / m / m / m / m / m / m / m / m / m / m / m / m / m / m / m
cr:Artifact:ScanCompleted: イメージスキャンが成功または失敗します。
cr:Artifact:DeliveryChainCompleted: 配信チェーンの処理が成功、失敗、キャンセル、または拒否されます。
cr:Artifact:SigningCompleted:: Image taggingが成功または失敗しました。
この例では、画像スキャンのイベントタイプが使用されます。 「cr:Artifact:ScanCompletedイメージがスキャンされます」を選択し、[スキャン] を選択します。
有効範囲
イベントの有効範囲を指定します。
インスタンス: 画像タグの正規表現を設定します。 イベント通知は、Enterprise Editionインスタンスのイメージタグが正規表現を満たしたときにトリガーされます。
名前空間: 名前空間を選択し、イメージタグの正規表現を設定します。 イベント通知は、名前空間のイメージタグが正規表現を満たすときにトリガーされます。
リポジトリ: 名前空間とリポジトリを選択し、イメージタグの正規表現を設定します。 イベント通知は、イメージリポジトリ内のイメージタグが正規表現を満たすとトリガーされます。
では、イベント通知ステップ、通知方法を設定し、保存.
通知方法として、DingTalk、HTTP、またはHTTPSを選択できます。
DingTalk: 通知方法をDingTalkに設定し、webhookアドレスとタグキーを入力します。 この例では、DingTalk通知メソッドが使用されています。
HTTP: 通知方法をHTTPに設定し、HTTPアドレスを入力します。
HTTPS: 通知方法をHTTPSに設定し、HTTPSアドレスを入力します。
Container Registryでイベントルールが作成されると、EventBridgeの既定のイベントバスに同じ名前のイベントルールが自動的に作成されます。 EventBridgeのイベントルールは、デフォルトのDingTalk通知テンプレートを使用します。
イメージスキャンが成功すると、DingTalkグループは次の通知を受け取ります。
関連する API 操作
ここでは、イベントトレースの表示方法について説明します。
Container Registryコンソールにログインします。
上部のナビゲーションバーで、リージョンを選択します。
左側のナビゲーションウィンドウで、[インスタンス] をクリックします。
[インスタンス] ページで、管理するEnterprise Editionインスタンスをクリックします。
インスタンスの詳細ページの左側のナビゲーションウィンドウで、 .
[イベント通知] ページで、[イベント履歴] タブをクリックし、イベントIDに対応する [アクション] 列の [詳細の表示] をクリックします。
EventBridgeコンソールの [イベントIDによるクエリ] タブで、イベントIDに対応する [アクション] 列の [イベントトレース] をクリックします。
[イベントトレース] ダイアログボックスで、イベントの受信と配信に関する情報を表示します。