全部產品
Search
文件中心

Object Storage Service:revert-versioning(恢複版本)

更新時間:Jul 31, 2024

revert-versioning命令用於在開啟版本控制的儲存空間(Bucket)中,將已刪除的檔案(Object)恢複至最近的版本。

注意事項

  • 要恢複檔案的版本,您必須具有oss:ListObjectVersionsoss:DeleteObjectVersion許可權。具體操作,請參見為RAM使用者授權自訂的權限原則

  • 從ossutil 1.6.16版本開始,命令列中Binary名稱支援直接使用ossutil,您無需根據系統重新整理Binary名稱。如果您的ossutil版本低於1.6.16,則需要根據系統重新整理Binary名稱。更多資訊,請參見命令列工具ossutil命令參考

命令格式

ossutil revert-versioning oss://bucketname[/prefix]
[--encoding-type <value>]
[-r,--recursive]
[--start-time <value> ]
[--end-time <value>]
[--include <value>]
[--exclude <value>]
[--payer <value>]

參數及選項說明如下:

配置項

說明

bucketname

Bucket名稱。

prefix

Bucket下的資源、例如目錄、檔案等。

--encoding-type

oss://bucket_name之後的prefix進行編碼,取值為url。如果不指定該選項,則表示prefix未經過編碼。

-r,--recursive

如果指定該選項時,ossutil將恢複Bucket下所有符合prefix條件的Object為最近的版本。如果不指定該選項,則ossutil只恢複指定Object為最近的版本。

--start-time

值為Linux或Unix系統下的時間戳記。如果輸入該選項,則刪除時間早於該時間的Object會被忽略。

--end-time

值為Linux或Unix系統下的時間戳記。如果輸入該選項,則刪除時間晚於該時間的Object會被忽略。

--include

包含符合指定條件的所有Object。

更多資訊,請參見include和exclude選項

--exclude

不包含任何符合指定條件的Object。

更多資訊,請參見include和exclude選項

--payer

請求的支付方式。如果希望訪問指定路徑下的資源產生的流量、請求次數等費用由要求者支付,請將此選項的值設定為requester

使用樣本

  • 恢複樣本

    • 將目標儲存空間examplebucket下處於刪除狀態的exampleobject.jpg恢複為最近的版本。

      ossutil revert-versioning oss://examplebucket/exampleobject.jpg
    • 結合-r選項,將目標儲存空間examplebucket下匹配指定首碼destdir且處於刪除狀態的多個Object恢複為最近的版本。

      ossutil revert-versioning oss://examplebucket/destdir -r
    • 結合-r選項,將目標儲存空間examplebucket內所有處於刪除狀態的Object恢複為最近的版本

      ossutil revert-versioning oss://examplebucket  -r
    • 將在指定時間範圍內刪除的Object恢複為最近的版本

      結合-r選項,將目標儲存空間examplebucket下於北京時間2020年6月16日16:22:58至2020年6月16日16:39:38內刪除的Object恢複至最近的版本。

      ossutil revert-versioning oss://examplebucket -r --start-time 1592295778 --end-time 1592296778
    • 將所有匹配指定條件且已刪除的Object恢複為最近的版本

      • 結合-r選項,將目標儲存空間examplebucket下所有格式為TXT且已刪除的Object恢複為最近的版本。

        ossutil revert-versioning oss://examplebucket --include "*.txt" -r
      • 結合-r選項,將目標儲存空間examplebucket下所有格式不為JPG且已刪除的Object恢複為最近的版本。

        
        ossutil revert-versioning oss://examplebucket --exclude "*.jpg" -r
  • 返回結果

    恢複成功後,返回結果中將包含恢複的Object個數以及完成恢複操作所用時間長度,樣本如下:

    revert versioning object count is 10, batch list count is 10
    
    0.066413(s) elapsed

通用選項

當您需要通過命令列工具ossutil切換至另一個地區的Bucket時,可以通過-e選項指定該Bucket所屬的Endpoint。當您需要通過命令列工具ossutil切換至另一個阿里雲帳號下的Bucket時,可以通過-i選項指定該帳號的AccessKey ID,並通過-k選項指定該帳號的AccessKey Secret。

例如您需要將另一個阿里雲帳號下,華東2(上海)地區下目標儲存空間testbucket內處於刪除狀態的exampletest.png檔案恢複為最近的版本,命令如下:

ossutil revert-versioning oss://testbucket/exampletest.png -e oss-cn-shanghai.aliyuncs.com -i LTAI4Fw2NbDUCV8zYUzA****  -k 67DLVBkH7EamOjy2W5RVAHUY9H****

關於此命令的其他通用選項的更多資訊,請參見通用選項