复制对象 - Amazon Simple Storage Service
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

复制对象

复制操作将创建已存储在 Amazon S3 中的对象的副本。在单个原子操作中,您可以创建最大 5 GB 的对象副本。但是,对于复制大于 5 GB 的对象,您必须使用分段上传 API。通过使用 copy 操作,您可以:

  • 创建对象的其他副本

  • 通过复制对象并删除原始对象来重命名它们。

  • 跨不同的 Amazon S3 位置(例如,us-west-1 和欧洲)移动对象

  • 更改对象元数据

    每个 Amazon S3 对象都带有元数据。它是一组名称值对。您可以在上传对象元数据时对其进行设置。上传对象后,您将无法修改对象元数据。修改对象元数据的唯一方式是创建对象的副本并设置元数据。在复制操作中,设置与源和目标相同的对象。

每个对象都带有元数据。有些是系统元数据,而另外一些则是用户定义的元数据。用户可以控制某些系统元数据,例如,用于对象的存储类配置和配置服务器端加密。在复制对象时,还复制用户控制的系统元数据和用户定义的元数据。Amazon S3 会重置系统控制的元数据。例如,在复制对象时,Amazon S3 将重置已复制对象的创建日期。在复制请求中,您无需设置这些值。

复制对象时,您可能会决定更新某些元数据值。例如,如果您的源对象被配置为使用标准存储,您可能会为对象复制选择低冗余存储。您可能还会决定更改源对象上某些用户定义的元数据值。请注意,如果您选择在复制期间更新任意对象的用户可配置元数据 (系统或用户定义的元数据),则必须显式指定请求中源对象上存在的所有用户可配置的元数据,即使您只更改其中一个元数据值也是如此。

有关对象元数据的详细信息,请参阅 对象键和元数据

注意

在复制对象时,您可以请求 Amazon S3 保存使用 AWS Key Management Service (AWS KMS) 客户主密钥 (CMK)、Amazon S3 托管加密密钥或客户提供的加密密钥进行加密的目标对象。因此,您必须在请求中指定加密信息。如果复制源是使用具有客户提供的密钥的服务器端加密存储在 Amazon S3 中的对象,则您需要在请求中提供加密信息,以便 Amazon S3 可以解密对象进行复制。有关更多信息,请参阅使用加密保护数据

要使用单个请求复制多个 Amazon S3 对象,您可以使用 Amazon S3 批处理操作。您为 S3 批量操作 提供要操作的对象的列表。 S3 批量操作 调用相应的 API 来执行指定的操作。单个 S3 批量操作 作业可对包含 EB 级数据的数十亿个对象执行指定操作。

S3 批量操作 可跟踪进度、发送通知并存储所有操作的详细完成报告,从而提供完全托管的、可审计的无服务器体验。您可以通过 AWS 管理控制台、AWS CLI、AWS 开发工具包或 REST API 使用 S3 批量操作。有关更多信息,请参阅基础知识:S3 批量操作

相关资源