使用 S3 批次複寫來複寫現有物件 - Amazon Simple Storage Service

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

使用 S3 批次複寫來複寫現有物件

透過使用 S3 Batch 複寫,您可以複寫下列類型的物件:

  • 在複製組態到位之前就已存在的物件

  • 先前已複製的物件

  • 複寫失敗的物件

您可以使用「Batch 作業」工作視需求複製這些物件。S3 Batch 複寫與即時複寫不同,即時複寫會持續且自動地跨 Amazon S3 儲存貯體複寫新物件。

若要開始使用 Batch 複寫,您可以:

  • 為新的複寫規則或目的地啟動 Batch 複寫 — 當您在新複寫組態中建立第一個規則,或透過 Amazon S3 主控台將新目標新增至現有組態時,可以建立一次性 Batch 複寫任務。

  • 啟動現有複寫組態的 Batch 複寫 — 您可以透過 Amazon S3 主控台使用 S3 Batch 操作來建立新的 Batch 複寫任務 AWS Command Line Interface (AWS CLI), AWS SDKs,或 Amazon S3 REST API。

當批次複寫任務完成時,您將收到一份完成報告。如需使用報告檢查任務的詳細資訊,請參閱追蹤任務狀態和完成報告

S3 批次複寫注意事項

  • 來源儲存貯體必須具有現有的複寫組態。若要啟用複寫,請參閱設定即時複製設定即時複製的範例

  • 如果您已為儲存貯體設定 S3 生命週期,建議您在 Batch 複寫任務處於作用中狀態時停用生命週期規則。這樣做有助於確保來源值區和目標值區之間的同位檢查。否則,這些值區可能會發生分歧,而且目標值區將不會是來源值區的精確複本。例如,考量以下情境:

    • 您的來源值區具有物件的多個版本,以及該物件上的刪除標記。

    • 您的來源和目的地儲存貯體具有生命週期組態,可移除過期的刪除標記。

    在這個案例中,Batch 複寫可能會先將刪除標記複寫到目的地儲存貯體,再複寫物件版本。此行為可能會導致您的生命週期組態將刪除標記標記標記為已過期,並在複製物件版本之前從目的地值區移除刪除標記。

  • 所以此 AWS Identity and Access Management (IAM) 您指定用來執行 Batch 作業工作的角色必須具備執行基礎 Batch 複寫作業的必要權限。如需建立IAM角色的詳細資訊,請參閱設定 Batch 複寫的IAM原則

  • Batch 複寫需要可由 Amazon S3 產生的資訊清單。生成的清單必須存儲在相同 AWS 區域 作為源桶。如果您選擇不產生資訊清單,可以提供 Amazon S3 庫存報告或包含您要複寫之物件的CSV檔案。

  • Batch 複寫不支援使用目的地值區中物件的版本識別碼刪除的重新複寫物件。若要重新複寫這些物件,您可以使用批次複製 (Batch Copy) 任務將來源物件複製到位。就地複製這些物件會在來源值區中建立物件的新版本,並自動啟動目標值區的複寫。刪除和重新建立目的地值區並不會起始複寫。

    如需「Batch 複製」的更多資訊,請參閱使用批次操作複製物件的範例

  • 如果您在 S3 儲存貯體上使用複寫規則,請確保將複寫規則附加的IAM角色授與複寫物件的適當權限,以更新複寫組態。此IAM角色必須具備必要的權限,才能在來源和目的地儲存貯體上執行複寫。

  • 如果您在短時間內為同一儲存貯體提交多個 Batch 複寫任務,Amazon S3 將同時執行這些任務。

  • 如果您為兩個不同儲存貯體提交多個 Batch 複寫任務,請注意,Amazon S3 可能無法同時執行所有任務。如果您超過帳戶一次可以執行的 Batch 複寫任務數量,Amazon S3 將暫停較低優先順序的任務,以處理優先順序較高的任務。優先順序較高的項目完成後,所有暫停的工作都會再次變為作用中狀態。

  • 存放在 S3 Glacier 彈性擷取和 S3 Glacier 深度存檔儲存類別中的物件不支援 Batch 複寫。

  • 若要批次複寫存放在封存存取或深度封存存取儲存層中的 S3 智慧型分層物件,您必須先啟動還原請求,然後等待物件移至頻繁存取層。

指定批次複寫任務的資訊清單

清單檔案是 Amazon S3 物件,其中包含您希望 Amazon S3 採取行動的物件索引鍵。如果要建立 Batch 複寫任務,則必須提供使用者產生的資訊清單,或讓 Amazon S3 根據複寫組態產生資訊清單。

如果您提供使用者產生的資訊清單,資訊清單必須採用 Amazon S3 庫存報告或CSV檔案的形式。如果資訊清單中的物件位於已建立版本化的值區中,您必須指定物件IDs的版本。只有具有在資訊清單中指定的版本 ID 的物件才會被複寫。若要進一步了解如何指定資訊清單,請參閱指定資訊清單

如果您選擇讓 Amazon S3 代表您產生資訊清單檔案,列出的物件將使用與來源儲存貯體所有複寫組態相同的來源儲存貯體、前綴和標籤。Amazon S3 會使用產生的資訊清單複寫物件的所有合格版本。

注意

如果您選擇讓 Amazon S3 產生資訊清單,資訊清單必須存放在相同的資訊清單 AWS 區域 作為源桶。

批次複寫任務的篩選條件

建立 Batch 複製工作時,您可以選擇性地指定其他篩選器,例如物件建立日期和複寫狀態,以減少工作的範圍。

您可以根據 ObjectReplicationStatuses 值來篩選要複寫的物件,方法是提供下列一或多個值:

  • "NONE" – 表示 Amazon S3 之前從未嘗試複寫該物件。

  • "FAILED"— 表示 Amazon S3 之前已嘗試複寫物件,但失敗。

  • "COMPLETED" – 表示 Amazon S3 之前已成功複寫該物件。

  • "REPLICA"— 指示這是 Amazon S3 已從其他來源複寫的複本物件。

如需複寫狀態的詳細資訊,請參閱取得複寫狀態資訊

如果您未篩選「Batch 複寫」工作,Batch 作業會嘗試複寫資訊清單中符合複寫組態中規則的所有物件 (不論它們ObjectReplicationStatus),但預設情況下未複寫的某些物件除外。如需詳細資訊,請參閱 使用複寫組態不會複寫什麼項目?

視您的目標而定,您可能會設定ObjectReplicationStatuses下列一或多個值:

  • 若只要複製從未複製的現有物件,請僅包含"NONE"

  • 若要僅重試複製先前失敗的物件,請僅包含"FAILED"

  • 若要複製現有物件並重試複製之前失敗的物件,請同時包含"NONE""FAILED"

  • 若要使用已複製到其他目的地的物件回填目的地值區,請包括"COMPLETED"

  • 若要複製先前複製的物件,請包括"REPLICA"

批次複寫完成報告

建立 Batch 複製工作時,您可以要求CSV完成報告。此報告會顯示物件、複寫成功或失敗代碼、輸出,以及描述。如需工作追蹤和完成報告的詳細資訊,請參閱完成報告

如需複製失敗代碼和說明的清單,請參閱Amazon S3 複寫失敗原因

如需有關疑難排解 Batch 複寫的資訊,請參閱 批次複寫錯誤

開始使用批次複寫

若要進一步了解如何使用批次複寫,請參閱教學:使用 S3 批次複寫複寫 Amazon S3 儲存貯體中的現有物件