監視するオブジェクトに対して、Object Storage Service (OSS) コンソールでイベント通知ルールを設定できます。 ルールで指定されたイベントがこれらのオブジェクトで発生した場合、ルールで指定されたHTTPサーバーまたはSMQ (Simple Message Queue (以前はMNS)) から通知が送信されます。
シナリオの例
会社の中国 (杭州) リージョンにsrcbucketという名前のバケットを作成し、srcbucketにlog /とdestdir /の2つのディレクトリを作成します。 log /ディレクトリは、log/date1.txt、log/date2.txt、log/date3.txtなどのログオブジェクトを格納するために使用されます。 destdir /ディレクトリは、destdir/photo1.jpgやdestdir/photo2.jpgなど、顧客ケース分析で使用されるイメージオブジェクトを格納するために使用されます。 次の構造は、srcbucket内のディレクトリとオブジェクトを示しています。
srcbucket
└── log/
├── date1.txt
├── date2.txt
├── date3.txt
├── .......
└── destdir/
├── photo1.jpg
├── photo2.jpg
├── ......
会社は、srcbucketのログと顧客ケースイメージ、およびこれらのオブジェクトに対するすべての変更 (オブジェクトの追加、削除、変更など) を、英国 (ロンドン) リージョンのdestbucketという名前のバケットに同期する必要があります。 さらに、srcbucketおよびdestbucketのlog /ディレクトリおよびdestdir /ディレクトリ内のオブジェクトへの変更をすべての従業員に通知することを求めています。
この場合、srcbucketにはCRR (クロスリージョンレプリケーション) ルールを、srcbucketとdestbucketにはイベント通知ルールを設定できます。
ステップ1: SMQキューの作成
SMQコンソールにログインします。
左側のナビゲーションウィンドウで、キューをクリックします。
上部のナビゲーションバーで、中国 (杭州)リージョンを使用します。
キューページで、キューを作成をクリックします。
キューの作成パネルで、キュー名をmyqueue1他のパラメータのデフォルト設定を保持します。
OKをクリックします。
上部のナビゲーションバーで英国 (ロンドン)に切り替えます。上記の手順を繰り返して、という名前のキューを作成します。myqueue2destbucket上のイベントの通知を受信するための
手順2: srcbucketのCRRルールの設定
OSSコンソールにログインします。
左側のナビゲーションウィンドウで、[バケット] をクリックします。 表示されるページで、[srcbucket] をクリックします。
左側のナビゲーションツリーで、を選択します。
CRRタブで、CRR をクリックします。
CRRパネルで、次のパラメータを設定します。
パラメーター
説明
宛先バケット
[UK (London)] を選択し、[destbucket] を選択します。
複製するオブジェクト
[指定プレフィックスのあるオブジェクト] を選択し、プレフィックスdestdir/ およびlog/ を指定します。
レプリケーションポリシー
[追加 /削除 /変更] を選択します。
履歴データの複製
[はい] を選択します。
RAMロール名
CRRのロールを選択します。
チェックボックスをオンにして、国境を越えたデータ転送のコンプライアンスコミットメントを読んで同意したことを確認し、OKをクリックします。
手順3: srcbucketおよびdestbucketのイベント通知ルールを設定する
手順2で設定したCRRルールは、履歴データをdestbucketにレプリケートすることを指定します。 大量の履歴データが利用可能な場合、レプリケーションが発生したときに多くの通知がトリガーされます。 レプリケーション中に通知を受けたくない場合は、すべての履歴データが同期された後に、srcbucketとdestbucketのイベント通知ルールを設定することをお勧めします。
srcbucketのイベント通知を設定します。
OSSコンソールにログインします。
左側のナビゲーションウィンドウで、[バケット] をクリックします。 表示されるページで、[srcbucket] をクリックします。
左側のナビゲーションツリーで、を選択します。
イベント通知ページで、ルールの作成をクリックします。
ルールの作成パネルで、次の表に従ってパラメータを設定し、OKをクリックします。
パラメーター
説明
ルール名
ルール名をnotification1に設定します。
イベントタイプ
PutObject、CopyObject、DeleteObject、DeleteObjectsを選択します。
リソースの説明
[プレフィックスとサフィックス] を選択し、プレフィックスlog/ とdestdir/ を追加します。
Endpoint
[キュー] を選択し、手順1で作成したmyqueue1と入力します。
destbucketのイベント通知を設定します。
左側のナビゲーションウィンドウで、[バケット] をクリックします。 表示されるページで、destbucketをクリックします。
左側のナビゲーションツリーで、を選択します。
イベント通知ページで、ルールの作成をクリックします。
ルールの作成パネルで、次の表に従ってパラメータを設定し、OKをクリックします。
パラメーター
説明
ルール名
ルール名をnotification2に設定します。
イベントタイプ
[ObjectReplication:ObjectCreated] 、[ObjectReplication:ObjectRemoved] 、および [ObjectReplication:ObjectModified] を選択します。
リソースの説明
[プレフィックスとサフィックス] を選択し、プレフィックスlog/ とdestdir/ を追加します。
Endpoint
[キュー] を選択し、手順1で作成したmyquee2と入力します。
新しいイベント通知ルールが有効になるまでに約10分かかります。
ステップ4: 通知を受信するサブスクリプションを設定する
イベント照合ルールがトリガーされると、SMQは自動的にトピックを作成します。 トピック名は、mns-en-topics-[Product]-[RuleName]-[Timestamp]
形式 (mns-en-topics-oss-notification1-1700098799
など) です。 通知を受け取るには、トピックをサブスクライブし、サブスクリプションルールでエンドポイントを指定する必要があります。
トピックのサブスクリプションを作成します。
SMQ (旧MNS) コンソールにログインします。
左側のナビゲーションウィンドウで、トピックをクリックします。
上部のナビゲーションバーで、中国 (杭州)リージョンを使用します。
自動的に作成されたトピックを見つけて、サブスクリプションの表示[アクション] 列に表示されます。
表示されるパネルで、[サブスクリプション] をクリックします。 表示されるページで、[サブスクリプションの作成] をクリックします。
[サブスクリプションの作成] パネルで、SMQがsrcbucket用に作成したトピックのサブスクリプションを作成するためのパラメーターを設定します。 [名前] にmysubscription1を入力し、[プッシュタイプ] に [キュー] を選択し、[レシーバーエンドポイント] にmyqueue1を入力します。 他のパラメーターのデフォルト設定を保持します。
OKをクリックします。
UK (London) リージョンに切り替え、上記の手順を繰り返して、MNS for destbucketによって作成されたトピックのmysubscription2サブスクリプションを作成します。 プッシュタイプに [キュー] を選択し、レシーバエンドポイントに [myquee2] を入力します。 他のパラメーターのデフォルト設定を保持します。
通知を受信するための設定を構成します。
左側のナビゲーションウィンドウで、キューをクリックします。
検索myqueue1そして選ぶ [アクション] 列に表示されます。
表示されたページのメッセージを受け取るセクションで、メッセージを受け取るをクリックします。
srcbucketのlog /およびdestdir /ディレクトリ内のオブジェクトが作成、変更、または削除されたときに、システムが通知します。
上記の手順を繰り返して、destbucket用に作成されたmyqueue2から通知を受け取ります。 設定が完了すると、CRRルールに基づいてdestbucketでオブジェクトの作成、上書き、または削除に関するイベント通知を受け取ります。
そのような通知が不要になった場合は、イベント通知ルールを削除します。 イベント通知ルールを削除しても、自動作成されたトピックは削除されません。 したがって、不要な請求を防ぐために、できるだけ早い機会に不要なトピックを削除してください。