Amazon Simple Storage Service
开发人员指南 (API 版本 2006-03-01)
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

Amazon S3 复制什么?

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

复制什么?

Amazon S3 会复制以下内容:

  • 添加复制配置之后创建的对象(除了下一部分中介绍的对象)。

     

  • 未加密的对象和使用 Amazon S3 托管密钥 (SSE-S3) 或 AWS KMS 托管密钥 (SSE-KMS) 加密的对象(但必须显式启用该选项才能复制使用 KMS 密钥加密的对象)。对象的复制副本也将使用服务器端加密进行加密,该服务器端加密的类型与用于源对象的类型相同。有关服务器端加密的更多信息,请参阅使用服务器端加密保护数据

     

  • 对象元数据。

     

  • 仅限存储桶拥有者有权读取其对象和访问控制列表 (ACL) 的源存储桶中的对象。有关资源所有权的更多信息,请参阅Amazon S3 存储桶和对象所有权

     

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

    (请参阅CRR 的其他配置:更改副本拥有者)。

     

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

     

  • 对象标签(如果有)。

删除操作对 CRR 有何影响

如果您从源存储桶中删除对象,会发生以下情况:

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

    • 如果您使用的是最新版本的复制配置(即在复制配置规则中指定 Filter 元素),Amazon S3 不会复制该删除标记。

    • 如果未指定 Filter 元素,Amazon S3 会假定复制配置为早期版本 V1。在早期版本中,Amazon S3 以其他方式处理了删除标记的复制。有关更多信息,请参阅向后兼容

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

不复制什么?

Amazon S3 不复制以下内容:

  • 在向存储桶添加复制配置之前存在的对象。换句话说,Amazon S3 不以回溯方式复制对象。

     

  • 以下加密的对象:

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

    • 使用 AWS KMS–托管加密密钥通过服务器端加密 (SSE-KMS) 创建的对象。默认情况下,Amazon S3 不复制使用 KMS 密钥加密的对象。但是,您可以在复制配置中显式启用这些对象的复制,并提供相关信息,以便 Amazon S3 可以复制这些对象。

    有关服务器端加密的更多信息,请参阅使用服务器端加密保护数据

     

  • 源存储桶中存储桶拥有者没有相应权限的对象(当存储桶拥有者不是对象的拥有者时)。有关对象拥有者如何向存储桶拥有者授予权限的信息,请参阅在授予上传对象的交叉账户许可的同时,确保存储桶拥有者拥有完全控制

     

  • 对存储桶级别子资源进行的更新。例如,如果您更改生命周期配置或向源存储桶添加通知配置,则这些更改不会应用于目标存储桶。这使您可以在源存储桶和目标存储桶中具有不同的配置。

     

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

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

    有关生命周期配置的更多信息,请参阅对象生命周期管理

    注意

    如果使用的是最新版本的复制配置(XML 将 Filter 指定为 Rule 的子级),则不会复制生命周期操作期间由用户操作或 Amazon S3 创建的删除标记。但是,如果您使用的是早期版本的复制配置(XML 将 Prefix 指定为 Rule 的子级),则将复制因用户操作产生的删除标记。有关更多信息,请参阅向后兼容

  • 源存储桶中作为另一个跨区域复制所建副本的对象。

    源存储桶中的对象只能复制到一个 目标存储桶。在 Amazon S3 复制一个对象后,无法再次复制该对象。例如,如果您在现有复制配置中更改目标存储桶,则 Amazon S3 不会再次复制对象。

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

跨区域复制

CRR 设置概述

跨区域复制状态信息