在源存储空间(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同时处于非版本控制状态,或者都已开启版本控制。

  • Bucket Policy设置错误
    如下所示,如果Bucket Policy拒绝(Deny)源Bucket或目标Bucket中列举的任意一个操作(Action),则无法将源Bucket中的对象复制到目标Bucket。
    • 源Bucket
              "Effect": "Deny",
              "Action": [
                       "oss:ListObjects",
                       "oss:ListMultipartUploads",
                       "oss:ListParts",
                       "oss:GetObject",
                       "oss:GetObjectTagging",
                       "oss:GetObjectVersion"
                       ],  
    • 目标Bucket
              "Effect": "Deny",
              "Action": [
                        "oss:GetObject",
                        "oss:PutObject",
                        "oss:RestoreObject",
                        "oss:DeleteObject",
                        "oss:AbortMultipartUpload",
                        "oss:ListParts",
                        "oss:PutObjectAcl",
                        "oss:GetObjectTagging",
                        "oss:PutObjectTagging",
                        "oss:DeleteObjectTagging",
                        "oss:GetObjectVersion",
                        "oss:DeleteObjectVersion",
                        "oss:PutObjectVersionAcl",
                        "oss:PutObjectVersionTagging",
                        "oss:GetObjectVersionTagging",
                        "oss:DeleteObjectVersionTagging",
                        "oss:RestoreObjectVersion"
                        ],  

    为确保源Bucket中的对象复制到目标Bucket,请将以上源Bucket以及目标Bucket的Effect修改为Allow