为现有复制规则创建分批复制任务 - Amazon Simple Storage Service
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

为现有复制规则创建分批复制任务

您可以通过使用 Amazon SDK、Amazon Command Line Interface(Amazon CLI)或 Amazon S3 控制台为现有复制配置来配置 S3 分批复制。有关分批复制的概述,请参阅 使用 S3 分批复制以复制现有对象

作为先决条件,您必须创建批量操作 Amazon Identity and Access Management(IAM)角色,以向 Amazon S3 授予代表您执行操作的权限,请参阅 配置 IAM 策略以进行分批复制

分批复制任务完成后,您将收到完成报告。有关如何使用报告检查任务的更多信息,请参阅 跟踪任务状态和完成报告

  1. 登录到 Amazon Web Services Management Console,然后通过以下网址打开 Amazon S3 控制台:https://console.aws.amazon.com/s3/

  2. 在 Amazon S3 控制台的导航窗格中选择 Batch Operations(批量操作)

  3. 请选择 Create job (创建任务)

  4. 请选择要在其中创建任务的区域

  5. 请选择 Manifest format(清单格式)。此示例将展示如何基于现有 S3 复制配置创建清单。

    注意

    清单是您希望对其运行指定操作的所有对象的列表。要了解有关批量操作清单的更多信息,请参阅 指定清单。如果您准备了清单,请选择 S3 清单报告 (manifest.json)CSV。如果清单中的对象位于受版本控制的存储桶中,则应指定对象的版本 ID。有关创建清单的更多信息,请参阅 指定清单

  6. 要根据复制配置创建清单,请选择 Create manifest using S3 Replication configuration(使用 S3 复制配置创建清单)。然后,选择您的复制配置的源存储桶。

  7. (可选)您可以包括其他筛选条件,例如对象创建日期和复制状态。有关如何按复制状态筛选的示例,请参阅 为分批复制任务指定清单

  8. 要保存清单,请选择 Save Batch Operations manifest(保存批量操作清单)。

    1. 如果您选择生成和保存清单,则必须选择此账户中的存储桶另一个 Amazon Web Services 账户 中的存储桶。请在文本框中指定存储桶名称。

      注意

      生成的清单必须存储在与源存储桶相同的 Amazon Web Services 区域 中。

    2. 请选择加密类型

  9. (可选)提供 Description(说明)。

  10. 必要时调整任务的 Priority(优先级)。数字越大,优先级越高。Amazon S3 尝试在优先级较低的任务之前运行优先级较高的任务。有关任务优先级的更多信息,请参阅 分配任务优先级

  11. (可选)生成完成报告。要生成报告,请选择 Generate completion report(生成完成报告)。

    如果您选择生成完成报告,则必须选择报告仅失败的任务全部任务,并为报告提供目标存储桶。

  12. 选择有效的 IAM 角色。

    注意

    有关创建 IAM 角色的更多信息,请参阅 配置 IAM 策略以进行分批复制

  13. (可选)将任务标签添加到分批复制任务中。

  14. 请选择 Next (下一步)

  15. 检查您的任务配置,然后选择 Create job(创建任务)。

以下示例使用 S3 为 Amazon Web Services 账户 111122223333 生成的清单创建 S3 分批复制任务。此示例将尝试复制现有对象和之前未能复制的对象。有关按复制状态筛选的信息,请参阅 为分批复制任务指定清单

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
注意

该任务必须从同一个 Amazon Web Services 区域 复制源存储桶中启动。IAM 角色 role/batch-Replication-IAM-policy 之前已创建。请参阅 配置 IAM 策略以进行分批复制

成功启动分批复制任务后,您会收到任务 ID 作为响应。您可以使用下面的命令监控此任务。

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

以下示例使用 Amazon Web Services 账户 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
注意

该任务必须从同一个 Amazon Web Services 区域 复制源存储桶中启动。IAM 角色 role/batch-Replication-IAM-policy 之前已创建。请参阅 配置 IAM 策略以进行分批复制

成功启动分批复制任务后,您会收到任务 ID 作为响应。您可以使用下面的命令监控此任务。

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