暂停版本控制下Object的操作

更新时间:2025-02-10 07:38

您可以暂停版本控制以停止在存储空间(Bucket ) 中继续累积同一文件(Object)的新版本。暂停版本控制后,您可以上传文件,并通过指定版本ID(versionId)的方式对历史版本文件进行下载和删除操作。

上传文件

向已暂停版本控制的Bucket上传文件时,OSS会为新文件添加versionId为null,且每个文件只保留一个versionId为null的版本。

  • 通过PUT操作上传文件时,OSS会自动添加null的版本ID。

  • 如果Bucket中已有版本ID为111111的文件,通过PUT操作上传同名文件时,新文件会分配null的版本ID,旧版本ID为111111的文件将作为历史版本保存。

  • 如果Bucket中已有版本ID为null的文件,上传同名文件时将覆盖原文件。

您可以通过cp命令或各语言SDK(如JavaPHPNode.jsPython.NETGoC++)在已暂停版本控制的Bucket中上传文件。

下载文件

您可以在已暂停版本控制Bucket中下载当前版本或指定版本的文件。

  • 通过GET请求下载文件时,未指定版本ID则返回当前版本(版本ID为null)。

  • 如需下载指定版本,通过GET请求时需指定版本ID。如下图所示(ID=222222)。

您可以通过cp命令或各语言SDK(如JavaPHPNode.jsPython.NETGoC++)在已暂停版本控制的Bucket中下载文件。

删除文件

在已暂停版本控制的Bucket中执行DELETE操作时,分以下三种情形:

  • 对Bucket中当前版本ID不为null的文件执行DELETE操作时,OSS会插入版本ID为null的删除标记(Delete Marker)作为当前版本。

  • 对Bucket中当前版本ID为null的文件执行DELETE操作时,OSS会插入版本ID为null的删除标记作为当前版本。由于OSS保证同一个文件只允许存在一个null的版本,因此原版本ID为null的版本将被覆盖。

  • 如果通过DELETE+versionId的方式删除文件,则该指定版本的文件将被永久删除,如下图所示(即删除版本ID=333333的文件 )。

您可以通过rm命令或各语言SDK(如JavaPHPNode.jsPython.NETGoC++)在已暂停版本控制的Bucket中删除文件。

  • 本页导读 (1)
  • 上传文件
  • 下载文件
  • 删除文件
文档反馈