為現有複寫規則建立批次複寫任務 - Amazon Simple Storage Service

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

為現有複寫規則建立批次複寫任務

您可以使用 AWS 開發套件、 AWS Command Line Interface (AWS CLI) 或 Amazon S3 主控台為現有複寫組態設定 S3 Batch 複寫。如需批次複寫的概觀,請參閱使用 S3 批次複寫來複寫現有物件

先決條件是,您必須建立 Batch 操作 AWS Identity and Access Management (IAM) 角色,以授與 Amazon S3 許可以代表您執行動作,請參閱設定批次複寫的 IAM 政策

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

  1. 登入 AWS Management Console 並開啟 Amazon S3 主控台,網址為 https://console.aws.amazon.com/s3/

  2. 在 Amazon S3 主控台的導覽窗格上,選擇 Batch Operations (批次操作)。

  3. 選擇 Create job (建立任務)。

  4. ​選擇要在其中建立任務的 Region (區域)。

  5. 選取 Manifest format (資訊清單格式)。此範例將展示如何根據現有 S3 複寫組態來建立資訊清單。

    注意

    資訊清單是您希望對其執行指定動作之所有物件的清單。若要進一步了解批次操作資訊清單,請參閱指定資訊清單。如果您已準備好資訊清單,請選擇 S3 inventory report (manifest.json) (S3 庫存報告 (manifest.json)) 或 CSV。若您資訊清單中的物件位於啟用版本控制的儲存貯體,建議您指定物件的版本 ID。如需建立資訊清單的詳細資訊,請參閱指定資訊清單

  6. 若要根據複寫組態建立資訊清單,請選擇 Create manifest using S3 Replication configuration (使用 S3 複寫組態建立資訊清單)。接著選擇複寫組態的來源儲存貯體。

  7. (選用) 您可以包含其他篩選條件,例如物件建立日期和複寫狀態。如需如何依照複寫狀態篩選的範例,請參閱指定批次複寫任務的資訊清單

  8. 若要儲存資訊清單,請選取 Save Batch Operations manifest (儲存批次操作資訊清單)。

    1. 如果選擇產生和儲存清單檔案,則必須選擇 Bucket in this account (此帳戶中的儲存貯體) 或者 Bucket in another AWS 帳戶 (另一個 AWS 帳戶中的儲存貯體)。在文字方塊中指定儲存貯體名稱。

      注意

      產生的資訊清單必須儲存在與來源儲存貯體 AWS 區域 相同的位置。

    2. 選擇加密類型

  9. (選用) 提供 Description (描述)。

  10. 視需要調整任務的 Priority (優先順序)。數字愈大表示優先順序愈高。Amazon S3 會嘗試在優先順序較低的任務之前,先執行優先順序較高的任務。如需任務優先順序的詳細資訊,請參閱 指派任務優先順序

  11. (選用) 產生完成報告。若要產生,請選取 Generate completion report (產生完成報告)。

    如果選擇產生完成報告,則必須選擇報告 Failed tasks only (僅限失敗的任務) 或者 All tasks (所有任務),並為報告提供目的地儲存貯體。

  12. 選取有效的 IAM 角色。

    注意

    如需建立 IAM 角色的詳細資訊,請參閱設定批次複寫的 IAM 政策

  13. (選用) 將任務標籤新增到批次複寫任務。

  14. 選擇 Next (下一步)。

  15. 檢閱您的組態,然後選取 Create job (建立任務)。

下列範例使用 S3 產生的資訊清單建立 S3 Batch 複寫任務 AWS 帳戶 111122223333。此範例將嘗試複寫現有物件和先前複寫失敗的物件。如需依照複寫狀態篩選的相關資訊,請參閱指定批次複寫任務的資訊清單

aws s3control create-job --account-id 111122223333 --operation '{"S3ReplicateObject":{}}' --report '{"Bucket":"arn:aws:s3:::*** completion report bucket ****","Prefix":"batch-replication-report", "Format":"Report_CSV_20180820","Enabled":true,"ReportScope":"AllTasks"}' --manifest-generator '{"S3JobManifestGenerator": {"ExpectedBucketOwner": "111122223333", "SourceBucket": "arn:aws:s3:::*** replication source bucket ***", "EnableManifestOutput": false, "Filter": {"EligibleForReplication": true, "ObjectReplicationStatuses": ["NONE","FAILED"]}}}' --priority 1 --role-arn arn:aws:iam::111122223333:role/batch-Replication-IAM-policy --no-confirmation-required --region source-bucket-region
注意

工作必須從相同的 AWS 區域 複寫來源儲存貯體啟動。IAM 角色 role/batch-Replication-IAM-policy 之前已建立。請參閱設定批次複寫的 IAM 政策

成功啟動批次複寫任務後,您將收到任務 ID 做為回應。您可使用下列命令來監控此任務。

aws s3control describe-job --account-id 111122223333 --job-id job-id --region source-bucket-region

下列範例會使用使用者為 AWS 帳戶 111122223333 定義的資訊清單,建立 S3 批次複寫任務。若您資訊清單中的物件位於啟用版本控制的儲存貯體,您必須指定物件的版本 ID。只有在清單檔案中指定版本 ID 的物件,才會被複寫。如需建立資訊清單的詳細資訊,請參閱指定資訊清單

aws s3control create-job --account-id 111122223333 --operation '{"S3ReplicateObject":{}}' --report '{"Bucket":"arn:aws:s3:::*** completion report bucket ****","Prefix":"batch-replication-report", "Format":"Report_CSV_20180820","Enabled":true,"ReportScope":"AllTasks"}' --manifest '{"Spec":{"Format":"S3BatchOperations_CSV_20180820","Fields":["Bucket","Key","VersionId"]},"Location":{"ObjectArn":"arn:aws:s3:::*** completion report bucket ****/manifest.csv","ETag":"Manifest Etag"}}' --priority 1 --role-arn arn:aws:iam::111122223333:role/batch-Replication-IAM-policy --no-confirmation-required --region source-bucket-region
注意

工作必須從相同的 AWS 區域 複寫來源儲存貯體啟動。IAM 角色 role/batch-Replication-IAM-policy 之前已建立。請參閱設定批次複寫的 IAM 政策

成功啟動批次複寫任務後,您將收到任務 ID 做為回應。您可使用下列命令來監控此任務。

aws s3control describe-job --account-id 111122223333 --job-id job-id --region source-bucket-region