暫停版本控制下Object的操作
您可以暫停版本控制以停止在存儲(chǔ)空間(Bucket ) 中繼續(xù)累積同一文件(Object)的新版本。暫停版本控制后,您可以上傳文件,并通過指定版本ID(versionId)的方式對(duì)歷史版本Object進(jìn)行下載和刪除操作。
上傳文件
向已暫停版本控制的存儲(chǔ)空間(Bucket)上傳文件(Object)時(shí),OSS將為新生成的Object添加versionId為null的版本,且每個(gè)Object只會(huì)保留一個(gè)versionId為null的版本。
如下圖所示,向已暫停版本控制的Bucket中通過PUT操作上傳Object時(shí),OSS會(huì)為上傳的Object自動(dòng)添加null的版本ID。
如下圖所示,如果已暫停版本控制的Bucket中存在開啟版本控制時(shí)生成的Object版本(ID=111111),通過PUT操作向該Bucket上傳同名Object時(shí),OSS會(huì)為新版本Object分配null的版本ID ,且該版本作為當(dāng)前版本,同時(shí)開啟版本控制時(shí)生成的Object版本(ID=111111)將作為歷史版本保存下來(lái)。
如果已暫停版本控制的Bucket中存在版本ID為null的Object ,通過PUT操作向該Bucket上傳同名Object時(shí),原版本ID為null的版本將被覆蓋。
您可以通過cp命令、Java SDK、PHP SDK、Node.js SDK、Python SDK、.NET SDK、Go SDK、C++ SDK的方式在已暫停版本控制的Bucket中上傳文件。
下載文件
您可以在已暫停版本控制的存儲(chǔ)空間(Bucket)中下載當(dāng)前版本或指定版本的文件(Object)。
通過GET請(qǐng)求下載Object時(shí),如果未指定Object的版本ID,則默認(rèn)情況下返回Object的當(dāng)前版本。如下圖所示返回版本ID為null的當(dāng)前版本。
如果要下載指定的版本,則通過GET請(qǐng)求下載Object時(shí)需要指定其版本ID ,如下圖所示獲取指定版本(ID=222222)的Object。
您可以通過cp命令、Java SDK、PHP SDK、Node.js SDK、Python SDK、.NET SDK、Go SDK、Go SDK的方式在已暫停版本控制的Bucket中下載文件。
刪除文件
在已暫停版本控制的Bucket中執(zhí)行DELETE操作時(shí),分以下三種情形:
如果對(duì)Bucket中當(dāng)前版本ID不為null的Object執(zhí)行DELETE操作時(shí),則OSS會(huì)插入版本ID為null的刪除標(biāo)記(Delete Marker)作為當(dāng)前版本。
如果對(duì)Bucket中當(dāng)前版本ID為null的Object執(zhí)行DELETE操作時(shí),則OSS會(huì)插入版本ID為null的刪除標(biāo)記(Delete Marker)作為當(dāng)前版本。由于OSS保證同一個(gè)Object只允許存在一個(gè)null的版本,因此原版本ID為null的版本將被覆蓋。
如果通過DELETE+versionId的方式刪除Object,則該指定版本的Object將被永久刪除,如下圖所示(即刪除版本ID=333333的Object )。
您可以通過rm命令、Java SDK、PHP SDK、Node.js SDK、Python SDK、.NET SDK、Go SDK、C++ SDK的方式在已暫停版本控制的Bucket中刪除文件。