本文介紹如何在來源資料儲存服務中配置事件通知,並將對象變更事件發送至訊息佇列。完成配置後,遷移服務即可通過訊息佇列接收資料變更事件,用於建立和運行基於訊息佇列的同步任務。文檔將說明相關配置流程及注意事項。
本文檔包含第三方產品資訊,該資訊僅供參考。阿里雲對第三方產品的效能、可靠性以及操作可能帶來的潛在影響,不做任何暗示或其他形式的承諾。
阿里雲OSS
目前遷移服務僅支援以隊列作為事件接收端。建立隊列時,請確保隊列與 OSS Bucket 位於同一地區。
根據實際需求選擇事件類型。目前遷移服務支援的事件類型如下。
分組 | 類型 | 說明 |
ObjectCreated(建立檔案) | ObjectCreated:PutObject | Put方法上傳檔案。 |
ObjectCreated:PostObject | Post方法上傳檔案。 | |
ObjectCreated:AppendObject | 追加寫方式上傳檔案。 | |
ObjectCreated:PutSymlink | 為檔案建立軟連結。 | |
ObjectCreated:CopyObject | 拷貝檔案。 | |
ObjectCreated:CompleteMultipartUpload | 完成分區上傳。 | |
ObjectReplication(複製檔案) | ObjectReplication:ObjectCreated | 資料複製過程涉及的寫入操作。 |
ObjectReplication:ObjectModified | 資料複製過程涉及的覆蓋操作。 | |
ObjectModified(修改檔案) | ObjectModified:UpdateObjectMeta | 調用UpdateObjectMeta介面修改某個對象的屬性。 |
在 OSS 上建立事件通知的具體操作,請參見通過事件通知即時處理OSS檔案變動。
遷移服務訪問並消費 SMQ(原MNS) 所需的許可權包括以下幾項:
mns:GetQueueAttributes
mns:ReceiveMessage
mns:DeleteMessage
建立隊列時,請注意以下事項:
建議將訊息儲存時間長度設定為 7 天,以確保在隊列中的訊息被全部消費前不會因隊列策略而被刪除。
建議將訊息延遲時間設定為 10 秒以上,以避免因時間同步差異導致檔案上傳至 OSS 時設定 LastModifiedTime 失敗。
若遷移資料中包含大檔案,建議根據遷移任務的頻寬情況,合理設定訊息可見度逾時時間。
事件通知規則約 10 分鐘後生效。
建立隊列並完成事件通知配置後,建議在 OSS Bucket 中上傳測試檔案,以驗證訊息是否能夠正確推送到訊息佇列。
遷移服務在成功消費訊息後,會從隊列中刪除該訊息;對於訊息格式、Bucket 或 prefix 與遷移任務不匹配的訊息,也會進行刪除。
AWS S3
目前遷移服務僅支援 Amazon S3 將事件通知訊息發送至 Amazon Simple Queue Service(Amazon SQS)隊列。建立隊列時,請確保隊列與 AWS S3 Bucket 位於同一地區。
根據實際需求選擇事件類型。目前遷移服務支援的事件類型如下。
分組 | 類型 | 說明 |
ObjectCreated(建立檔案) | ObjectCreated:Put | Put方法上傳檔案。 |
ObjectCreated:Post | Post方法上傳檔案。 | |
ObjectCreated:Copy | 追加寫方式上傳檔案。 | |
ObjectCreated:CompleteMultipartUpload | 完成分區上傳。 |
在 AWS S3 上建立事件通知的具體操作,請參見Amazon S3 事件通知。
遷移服務訪問並消費 AWS SQS 所需的許可權包括以下幾項:
sqs:ReceiveMessage
sqs:DeleteMessage
sqs:GetQueueAttributes
建立隊列時,請注意以下事項:
建議選擇標準隊列類型。
建議將訊息保留周期設定為 7 天以上,以確保隊列中的訊息在被全部消費前不會因隊列策略而被刪除。
建議將訊息交付延遲設定為 10 秒以上,以避免因時間同步差異導致檔案上傳至 OSS 時設定 LastModifiedTime 失敗。
若遷移資料中包含大檔案,建議根據遷移任務的頻寬情況,合理設定訊息可見度逾時時間。
如需對傳輸中的訊息進行加密,目前遷移服務僅支援使用 Amazon SQS 密鑰(SSE-SQS)。
建立隊列並完成事件通知配置後,建議在 AWS S3 Bucket 中上傳測試檔案,以驗證訊息是否能夠正確推送到訊息佇列。
遷移服務在成功消費訊息後,會從隊列中刪除該訊息;對於訊息格式、Bucket 或 prefix 與遷移任務不匹配的訊息,也會進行刪除。