全部產品
Search
文件中心

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

更新時間:Jun 19, 2024

您可以暫停版本控制以停止在儲存空間(Bucket ) 中繼續累積同一檔案(Object)的新版本。暫停版本控制後,您可以上傳檔案,並通過指定版本ID(versionId)的方式對歷史版本Object進行下載和刪除操作。

上傳檔案

向已暫停版本控制的儲存空間(Bucket)上傳檔案(Object)時,OSS將為新產生的Object添加versionId為null的版本,且每個Object只會保留一個versionId為null的版本。

  • 如下圖所示,向已暫停版本控制的Bucket中通過PUT操作上傳Object時,OSS會為上傳的Object自動添加null的版本ID。

  • 如下圖所示,如果已暫停版本控制的Bucket中存在開啟版本控制時產生的Object版本(ID=111111),通過PUT操作向該Bucket上傳同名Object時,OSS會為新版本Object分配null的版本ID ,且該版本作為目前的版本,同時開啟版本控制時產生的Object版本(ID=111111)將作為歷史版本儲存下來。

  • 如果已暫停版本控制的Bucket中存在版本ID為null的Object ,通過PUT操作向該Bucket上傳同名Object時,原版本ID為null的版本將被覆蓋。

您可以通過cp命令Java SDKPHP SDKNode.js SDKPython SDK.NET SDKGo SDKC++ SDK的方式在已暫停版本控制的Bucket中上傳檔案。

下載檔案

您可以在已暫停版本控制的儲存空間(Bucket)中下載目前的版本或指定版本的檔案(Object)。

  • 通過GET請求下載Object時,如果未指定Object的版本ID,則預設情況下返回Object的目前的版本。如下圖所示返回版本ID為null的目前的版本。

  • 如果要下載指定的版本,則通過GET請求下載Object時需要指定其版本ID ,如下圖所示擷取指定版本(ID=222222)的Object。

您可以通過cp命令Java SDKPHP SDKNode.js SDKPython SDK.NET SDKGo SDKGo SDK的方式在已暫停版本控制的Bucket中下載檔案。

刪除檔案

在已暫停版本控制的Bucket中執行DELETE操作時,分以下三種情形:

  • 如果對Bucket中目前的版本ID不為null的Object執行DELETE操作時,則OSS會插入版本ID為null的刪除標記(Delete Marker)作為目前的版本。

  • 如果對Bucket中目前的版本ID為null的Object執行DELETE操作時,則OSS會插入版本ID為null的刪除標記(Delete Marker)作為目前的版本。由於OSS保證同一個Object只允許存在一個null的版本,因此原版本ID為null的版本將被覆蓋。

  • 如果通過DELETE+versionId的方式刪除Object,則該指定版本的Object將被永久刪除,如下圖所示(即刪除版本ID=333333的Object )。

您可以通過rm命令Java SDKPHP SDKNode.js SDKPython SDK.NET SDKGo SDKC++ SDK的方式在已暫停版本控制的Bucket中刪除檔案。