

# 复制对象
<a name="batch-ops-copy-object"></a>

可以使用 Amazon S3 批量操作对 Amazon S3 对象执行大规模批量操作。批量操作**复制**操作会复制清单中指定的每个对象。可以将对象复制到相同 Amazon Web Services 区域中的存储桶或不同区域中的存储桶。S3 分批操作支持 Amazon S3 所提供用于复制对象的大部分选项。这些选项包括设置对象元数据、设置权限以及更改对象的存储类。

可以使用**复制**操作来复制现有的未加密对象，并将其作为加密的对象写入到同一存储桶。有关更多信息，请参阅[使用 Amazon S3 分批操作加密对象](https://www.amazonaws.cn/blogs/storage/encrypting-objects-with-amazon-s3-batch-operations/)。

复制对象时，可以更改用于计算对象校验和的校验和算法。如果对象没有额外的已计算校验和，您还可以通过指定 Amazon S3 要使用的校验和算法来添加一个校验和。有关更多信息，请参阅 [在 Amazon S3 中检查对象完整性](checking-object-integrity.md)。

有关复制 Amazon S3 中的对象以及必需参数和可选参数的更多信息，请参阅本指南中的[复制、移动和重命名对象](copy-object.md)和《Amazon Simple Storage Service API 参考》**中的 [https://docs.amazonaws.cn/AmazonS3/latest/API/API_CopyObject.html](https://docs.amazonaws.cn/AmazonS3/latest/API/API_CopyObject.html)。

## 限制和局限性
<a name="batch-ops-copy-object-restrictions"></a>

当您使用批量操作**复制**操作时，以下限制和局限性适用：
+ 所有源对象必须位于一个存储桶中。
+ 所有目标对象必须位于一个存储桶中。
+ 您必须具有源存储桶的读取权限和目标存储桶的写入权限。
+ 复制的对象大小最多为 5 GB。
+ 如果您尝试将对象从 S3 Glacier Flexible Retrieval 或 S3 Glacier Deep Archive 类复制到 S3 Standard 存储类，则必须先还原这些对象。有关更多信息，请参阅 [恢复已归档的对象](restoring-objects.md)。
+ 必须在目标区域（即您打算将对象复制到的区域）中创建批量操作**复制**任务。
+ 除了针对实体标签（ETag）的条件检查和具有客户提供的加密密钥的服务器端加密（SSE-C）之外，所有 `CopyObject` 选项都受支持。
+ 如果目标存储桶不受版本控制，您将覆盖任何具有相同键名称的对象。
+ 不必以对象在清单中出现的相同顺序复制这些对象。对于受版本控制的存储桶，如果保留当前或非当前版本顺序很重要，则首先复制所有非当前版本。然后，在第一个任务完成后，在后续任务中复制当前版本。
+ 不支持将对象复制到低冗余存储（RRS）类。
+ 单个批量操作复制作业可以支持包含多达 200 亿个对象的清单。