复制对象
可以使用 Amazon S3 批量操作对 Amazon S3 对象执行大规模批量操作。批量操作复制操作会复制清单中指定的每个对象。可以将对象复制到相同 Amazon Web Services 区域中的存储桶或不同区域中的存储桶。S3 分批操作支持 Amazon S3 所提供用于复制对象的大部分选项。这些选项包括设置对象元数据、设置权限以及更改对象的存储类。
可以使用复制操作来复制现有的未加密对象,并将其作为加密的对象写入到同一存储桶。有关更多信息,请参阅使用 Amazon S3 分批操作加密对象
复制对象时,可以更改用于计算对象校验和的校验和算法。如果对象没有额外的已计算校验和,您还可以通过指定 Amazon S3 要使用的校验和算法来添加一个校验和。有关更多信息,请参阅 检查对象完整性。
有关复制 Amazon S3 中的对象以及必需参数和可选参数的更多信息,请参阅本指南中的复制、移动和重命名对象和《Amazon Simple Storage Service API 参考》中的 CopyObject。
限制和局限性
当您使用批量操作复制操作时,以下限制和局限性适用:
-
所有源对象必须位于一个存储桶中。
-
所有目标对象必须位于一个存储桶中。
-
您必须具有源存储桶的读取权限和目标存储桶的写入权限。
-
复制的对象大小最多为 5 GB。
-
如果您尝试将对象从 S3 Glacier Flexible Retrieval 或 S3 Glacier Deep Archive 类复制到 S3 Standard 存储类,则必须先还原这些对象。有关更多信息,请参阅 恢复已归档的对象。
-
必须在目标区域(即您打算将对象复制到的区域)中创建批量操作复制任务。
-
除了针对实体标签(ETag)的条件检查和具有客户提供的加密密钥的服务器端加密(SSE-C)之外,所有
CopyObject
选项都受支持。 -
如果目标存储桶不受版本控制,您将覆盖任何具有相同键名称的对象。
-
不必以对象在清单中出现的相同顺序复制这些对象。对于受版本控制的存储桶,如果保留当前或非当前版本顺序很重要,则首先复制所有非当前版本。然后,在第一个任务完成后,在后续任务中复制当前版本。
-
不支持将对象复制到低冗余存储(RRS)类。