Amazon S3 复制什么内容? - Amazon Simple Storage Service
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

Amazon S3 复制什么内容?

Amazon S3 仅复制为复制配置的存储桶中的特定项目。

使用复制配置会复制什么?

默认情况下,Amazon S3 会复制以下内容:

  • 添加复制配置之后创建的对象。

  • 未加密的对象。

  • 使用 Amazon S3 托管密钥 (SSE-S3) 或 Amazon Key Management Service (SSE-KMS) 中存储的 KMS 密钥静态加密的对象。

    要复制使用 Amazon KMS 中存储的 KMS 密钥进行加密的对象,您必须显式启用该选项。对象的已复制副本也将使用服务器端加密进行加密,该服务器端加密的类型与用于源对象的类型相同。有关服务器端加密的更多信息,请参阅 使用服务器端加密保护数据

  • 从源对象到副本的对象元数据。有关将元数据从副本复制到源对象的信息,请参阅 使用 Amazon S3 副本修改同步复制元数据更改

  • 仅限存储桶拥有者有权读取其对象和访问控制列表 (ACL) 的源存储桶中的对象。

    有关资源所有权的更多信息,请参阅 Amazon S3 存储桶和对象所有权

  • 对象 ACL 更新(但源存储桶和目标存储桶不是由相同账户拥有时指示 Amazon S3 更改副本所有权的情况除外)。

    有关更多信息,请参阅 更改副本拥有者

    在 Amazon S3 能够使两个 ACL 同步之前,可能需要花一些时间。这一所有权变更仅适用于在向存储桶添加复制配置之后创建的对象。

  • 对象标签(如果有)。

  • S3 对象锁定保留信息(如果有)。

    如果 Amazon S3 复制应用了保留信息的对象,它会将相同的保留控制功能应用于您的副本,从而替换在目标存储桶上配置的默认保留期。如果未对您源存储桶中的对象应用保留控制功能,并且您复制到设置了默认保留期的目标存储桶,则目标存储桶的默认保留期将应用于对象副本。有关更多信息,请参阅 使用 S3 对象锁定

删除操作对复制操作有何影响

如果您从源存储桶中删除对象,则默认情况下会执行以下操作:

  • 如果您发出 DELETE 请求而未指定对象版本 ID,Amazon S3 会添加一个删除标记。Amazon S3 将按如下所示处理该删除标记:

    • 如果您使用的是最新版本的复制配置(即在复制配置规则中指定 Filter 元素),Amazon S3 默认不会复制该删除标记。但是,您可以将删除标记复制添加到非基于标记的规则。有关更多信息,请参阅在存储桶之间复制删除标记

    • 如果您未指定 Filter 元素,则 Amazon S3 将假定复制配置为版本 V1,并复制用户操作产生的删除标记。但是,如果 Amazon S3 因生命周期操作删除了对象,则删除标记不会复制到目标存储桶。

  • 如果您在 DELETE 请求中指定一个要删除的对象版本 ID,Amazon S3 会在源存储桶中删除该对象版本。但不会将删除操作复制到目标存储桶中。换句话说,它不会从目标存储桶中删除同一对象版本。这会防止恶意删除数据。

使用复制配置不会复制什么?

默认情况下,Amazon S3 不复制以下内容:

  • 源存储桶中作为另一个复制规则所建副本的对象。例如,假设您配置的复制中,存储桶 A 是源,存储桶 B 是目标。现在假设您添加另一个复制配置,其中存储桶 B 是源,而存储桶 C 是目标。在这种情况下,存储桶 B 中作为存储桶 A 中对象的副本的对象不会复制到存储桶 C。

    要复制属于副本的对象,请使用分批复制。请通过 复制现有对象 了解有关配置分批复制的更多信息。

  • 源存储桶中已复制到其他目标的对象。例如,如果您在现有复制配置中更改目标存储桶,则 Amazon S3 不会再次复制对象。

    要复制之前已复制的对象,请使用分批复制。请通过 复制现有对象 了解有关配置分批复制的更多信息。

  • 批处理复制不支持重新复制从目标存储桶中使用对象的版本 ID 删除的对象。要重新复制这些对象,您可以使用批处理复制作业将源对象复制到位。将这些对象复制到位会在源存储桶中创建对象的新版本,并自动启动到目标的复制。有关如何使用分批复制的更多信息,请参阅使用分批操作复制对象的示例

  • 使用客户提供的加密密钥 (SSE-C) 通过服务器端加密创建的对象。

  • 默认情况下,从不同的 Amazon Web Services 账户 进行复制时,添加到源存储桶的删除标记不会被复制。

    有关如何复制删除标记的更多信息,请参阅 在存储桶之间复制删除标记

  • 存储在 S3 Glacier Flexible Retrieval 或 S3 Glacier Deep Archive 存储类中的对象。

    要了解有关 Amazon S3 Glacier 服务的更多信息,请参阅 Amazon S3 Glacier 开发人员指南

  • 源存储桶中存储桶拥有者没有足够权限进行复制的对象。

    有关对象拥有者如何向存储桶拥有者授予权限的信息,请参阅在授予上传对象的跨账户权限的同时,确保存储桶拥有者拥有完全控制

  • 对存储桶级别子资源进行的更新。

    例如,如果您更改生命周期配置或向源存储桶添加通知配置,则这些更改不会应用于目标存储桶。此功能使您可以在源存储桶和目标存储桶中具有不同的配置。

  • 由生命周期配置执行的操作。

    例如,如果仅对源存储桶启用了生命周期配置,则 Amazon S3 会为过期对象创建删除标记,但不会复制这些标记。如果您希望对源存储桶和目标存储桶应用相同的生命周期配置,请对这两个存储桶启用相同的生命周期配置。有关生命周期配置的更多信息,请参阅 管理存储生命周期