您可以通過OSS管理主控台配置事件通知規則,自訂您關注的檔案(Object),當這些Object發生指定事件時,您可以通過Message Service指定的接收終端,及時收到Object的事件通知。
情境描述
某企業在華東1(杭州)地區建立了名為srcbucket的儲存空間(Bucket),Bucket內包含了不同日期持續產生的以log為首碼的記錄檔log/date1.txt、log/date2.txt和log/date3.txt等,以及以周為單位收集的以destdir為首碼的客戶案例圖片檔案destdir/photo1.jpg、destdir/photo2.jpg等。
srcbucket
└── log/
├── date1.txt
├── date2.txt
├── date3.txt
├── .......
└── destdir/
├── photo1.jpg
├── photo2.jpg
├── ......
該企業子公司需要將srcbucket內以上持續產生的日誌以及客戶案例圖片檔案、以及這些檔案在任意時間內產生的變化(例如檔案的增、刪、改操作)即時同步至母公司位於英國(倫敦)地區下名為destbucket的儲存空間,並希望公司全員能及時瞭解srcbucket以及destbucket內與首碼log以及destdir匹配的檔案的變化情況。
為實現以上需求,您需要為srcbucket配置跨地區複製規則,同時還需要為srcbucket以及destbucket配置事件通知。
步驟一:建立隊列
在左側導覽列,單擊。
在頂部導覽列,選擇華東1(杭州)地區。
在頁面,單擊。
在建立隊列面板,隊列名稱設定為myqueue1,其他參數保持預設配置。
單擊確定。
重複上述步驟在英國(倫敦)地區建立用於接收目標儲存空間destbucket事件通知的隊列myqueue2。
步驟二:為srcbucket配置跨地區複製
登入OSS管理主控台。
單擊Bucket列表,然後單擊srcbucket。
在左側導覽列,選擇 。
在跨地區複製頁面,單擊跨地區複製。
在跨地區複製面板,配置以下參數。
參數
說明
目標Bucket
選擇英國(倫敦),然後選擇destbucket。
資料複製對象
選擇指定檔案名稱首碼進行同步,並添加首碼destdir/以及log/。
資料複製策略
選擇增/刪/改同步。
複製歷史資料
選擇複製。
授權角色
選擇跨地區複製的授權角色。
勾選資料跨境合規承諾,然後單擊確定。
步驟三:為srcbucket及destbucket配置事件通知
因步驟二中跨地區複製規則中指定了同步歷史資料,且需要同步的歷史資料較多,會觸發大量的訊息。如果您不希望同步歷史資料過程中觸發訊息,建議待歷史資料同步完成後再開啟事件通知。
為源儲存空間srcbucket配置事件通知。
登入OSS管理主控台。
單擊Bucket列表,然後單擊srcbucket。
在左側導覽列,選擇 。
在事件通知頁面,單擊建立規則。
在建立規則面板,按如下說明配置各項參數,然後單擊確定。
參數
說明
規則名稱
將事件通知規則名稱設定notification1。
事件類型
選擇PutObject、CopyObject、DeleteObject和DeleteObjects。
資源描述
選擇前尾碼,並依次添加首碼log/以及destdir/。
接收終端
選擇隊列,並填寫步驟一中建立的隊列名稱myqueue1。
為目標儲存空間destbucket配置事件通知。
單擊左側導覽列的Bucket列表,然後單擊destbucket。
在左側導覽列,選擇 。
在事件通知頁面,單擊建立規則。
在建立規則面板,按如下說明配置各項參數,然後單擊確定。
參數
說明
規則名稱
將事件通知規則名稱設定notification2。
事件類型
選擇ObjectReplication:ObjectCreated、ObjectReplication:ObjectRemoved和ObjectReplication:ObjectModified。
資源描述
選擇前尾碼,並依次添加首碼log/以及destdir/。
接收終端
選擇隊列,並填寫步驟一中建立的隊列名稱myqueue2。
以上步驟配置完成後,事件通知規則約10分鐘後生效。
步驟四:接收訊息
當觸發了事件匹配規則時,Message Service將自動建立主題(Topic),Topic名稱格式為mns-en-topics-[Product]-[RuleName]-[Timestamp]
,例如mns-en-topics-oss-notification1-1700098799
。此時,您需要為該Topic建立訂閱,並在訂閱規則中指定接收端地址。
為Topic建立訂閱。
在左側導覽列,單擊主題列表。
在頂部導覽列,選擇華東1(杭州)地區。
在自動建立的Topic右側的操作欄下,單擊查看訂閱。
在目標Topic訂閱頁面,單擊訂閱管理,然後單擊建立訂閱。
在建立訂閱頁面,為源儲存空間srcbucket建立訂閱。名稱輸入mysubscription1,推送類型選擇隊列,接收端地址輸入myqueue1,其他參數保留預設配置。
單擊確定。
重複上述步驟在英國(倫敦)地區為目標儲存空間destbucket建立訂閱mysubscription2,推送類型選擇隊列,接收端地址指定為myqueue2,其他參數保留預設配置。
接收通知。
在左側導覽列,單擊隊列列表。
選擇目標隊列myqueue1右側操作欄下的 。
在接收訊息地區,單擊右上方的接收訊息。
此時,您將接收到源儲存空間srcbucket內與首碼log以及destdir匹配的檔案的增、刪、改操作的事件通知。
重複上述步驟為目標儲存空間destbucket對應的隊列myqueue2配置接收通知。配置完成後,您將接收到destbucket內由於跨地區複製規則產生、覆蓋或者刪除檔案的事件通知。
當您不再需要接收相關事件通知時,請及時刪除相應的事件通知規則。但是,事件通知規則刪除後,不會同步刪除自動建立的Topic。為避免產生不必要的費用,請及時刪除不再使用的Topic。