全部產品
Search
文件中心

Object Storage Service:暫停版本控制下Object的操作

更新時間:Feb 11, 2025

您可以暫停版本控制以停止在儲存空間(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中刪除檔案。