对象版本、删除与属性语义

对象键相同,不代表对象行为相同

云迁易编辑部更新于 2026-07-14内容与审核规范


对象存储版本控制会让一个键对应多个版本。常规列举和复制通常只处理当前可见版本;源端的版本 ID、删除标记、保留期限和对象锁状态不会因为复制内容自动在目标端等价出现。

如果业务只要求当前版本,应明确记录:

  • 历史版本和删除标记不在迁移范围;源 Bucket 在观察期保持只读。
  • 目标端启用版本控制只用于保护迁移后的覆盖与删除,不代表已复制源历史。
  • 回滚需要重新读取源端历史时,源端版本和密钥仍处于可用状态。

如果业务要求全部历史版本,至少建立 Bucket + Key + VersionId + IsDeleteMarker + LastModified + Size + StorageClass + Retention 清单,并在隔离 Bucket 验证按时间顺序写入后的读取结果。目标端通常会生成新的版本 ID,应用和审计系统不能继续依赖源版本 ID。


策略行为风险
不传播删除
只复制新增与覆盖,目标保留源端已删除对象
最安全,但目标会多出对象,需要后续清理
只生成差异
列出源端不存在、目标端存在的对象,人工批准
适合正式割接前审计
审核后传播
通过 sync 或等价任务删除目标多余对象
范围或方向错误会造成批量数据丢失

rclone 官方说明 copy 不删除目标对象,而 sync 会修改目标使其匹配源端。第一次全量应以 copy 为安全起点;删除传播必须先使用 --dry-run,保存完整清单并确认目标版本保护。rclone copy · rclone sync


属性迁移问题建议
Content-Type / Cache-Control
影响浏览器展示和 CDN 缓存
逐类型抽样,并从业务域名访问验证
自定义元数据
不同后端读写能力不同
建立键名、编码和大小限制清单
ACL / Bucket Policy
IAM 模型不可直接等价
在目标端按最小权限重建,不复制源账号标识
标签与生命周期
迁移后可能立即归档或删除
正式全量前冻结目标规则,验收后再启用
存储类型
低频、归档名称和取回行为不同
用目标策略重新分类,不能只复制源枚举
服务端加密
需要源端解密与目标端重新加密权限
分开记录 KMS、角色、密钥轮换和撤权
对象锁与保留
涉及治理、合规和不可变期限
单独做产品、法律和恢复评审

阿里云在线迁移文档明确列出部分可迁移 Header,并说明 ACL、服务端加密和标签等属性并非都受支持。其他云和源目标组合也应以创建任务当天的属性表为准。阿里云迁移限制


ETag 可能是单段对象的 MD5,也可能由分片上传、加密或厂商实现生成。跨云后 ETag 不同不能直接证明内容错误,ETag 相同也不能替代全部业务校验。

rclone 只有在双方后端支持共同哈希时才能直接比较哈希;否则可能使用大小、修改时间或下载内容。正式验收应记录实际比较方式,并对关键对象和分层随机样本下载后计算统一的 SHA-256。rclone 后端能力对照


归档迁移不是“任务自动重试”就能解决:

  1. 按前缀和批次列出归档对象与容量。
  2. 计算解冻时间、取回费用和临时副本有效期。
  3. 先解冻,再让迁移和失败重试落在有效期内。
  4. 保存未解冻、解冻过期和不支持对象的处置清单。
  5. 在目标端按新的生命周期重新归档,不盲目继承源最后修改时间规则。

核验日期:2026-07-14。华为云 OMS 当前文档包含归档取回相关流程,但具体源云、存储类型和自动解冻能力必须在目标地域重新核对。华为云 OMS 用户指南


Built with