在源存储空间(Bucket)配置了同区域复制或者跨区域复制规则后,如果对象副本未出现在目标Bucket中,请参考以下几种可能原因排查并修复问题。
时间限制
数据复制采用异步(近实时)复制的机制,将数据复制到目标Bucket需要一定的时间,通常几分钟到几小时不等,取决于数据的大小。如果要复制的对象较大,请稍等片刻,再检查对象副本是否出现在目标Bucket中。
源Bucket配置问题
- 数据复制状态是否为已开启(Enabled)。
- 前缀(Prefix)是否正确。
- 同步指定对象:如果需要同步源Bucket中的指定对象到目标Bucket,请将Prefix设置为指定对象名称。例如,Prefix设置为log,则仅复制log/date1.txt、log/date2.txt等以log开头的对象。与指定Prefix不匹配的对象不会复制到目标Bucket,例如date3.txt。
- 同步所有对象:如果需要将源Bucket中的全部对象复制到目标Bucket时,请将Prefix置空。
复制规则限制
如果Bucket中的某个对象是另一个复制配置创建的副本,则OSS不会复制该对象。例如,您配置了Bucket A同步到Bucket B,Bucket B再同步到Bucket C,则OSS不会将从Bucket A同步到Bucket B的对象副本复制到Bucket C。
版本控制状态不一致
开启数据同步的源Bucket和目标Bucket的版本控制状态必须一致,即这两个Bucket同时处于非版本控制状态,或者都已开启版本控制。
未选中复制KMS加密目标对象
在源Object或者目标Bucket使用了KMS托管密钥加密方式(即SSE-KMS,指定CMK ID)的情况下,要将Object复制到目标Bucket,则必须选中复制,并配置以下参数:

- 使用的KMS密钥:为目标Object指定加密的KMS密钥。
您需要提前在KMS平台创建一个与目标Bucket相同地域的KMS密钥。具体操作,请参见创建密钥。
- 授权角色:授权一个RAM角色对目标Object执行KMS加密操作。
- 新建角色:新建RAM角色对目标Object执行KMS加密,角色名称格式为
kms-replication-源Bucket名称-目标Bucket名称
。 - AliyunOSSRole:使用AliyunOSSRole角色对目标Object执行KMS加密。若您之前未创建AliyunOSSRole角色,当您选择此项时,OSS将自动创建AliyunOSSRole角色。
- 新建角色:新建RAM角色对目标Object执行KMS加密,角色名称格式为
说明
- 您可以通过HeadObject和GetBucketEncryption分别查询源Object和目标Bucket的加密状态。
- 有关跨区域复制结合服务器端加密详情,请参见跨区域复制结合服务器端加密。