如果未開啟歸檔直讀,歸檔類型的Object需要解凍後才能讀取。冷歸檔、深度冷歸檔不支援開啟直讀,冷歸檔、深度冷歸檔類型的Object需要解凍後才能讀取。歸檔類型Object完成解凍通常需要數分鐘。冷歸檔類型Object完成解凍通常需要數小時。深度冷歸檔類型Object完成解凍通常需要12~48小時。解凍時間請以實際為準。本文為您介紹如何通過restore命令解凍檔案。
注意事項
要解凍單個檔案,您必須具有
oss:RestoreObject
許可權;要按目錄解凍檔案,您必須具有oss:RestoreObject
和oss:ListObjects
許可權。具體操作,請參見為RAM使用者授權自訂的權限原則。從ossutil 1.6.16版本開始,命令列中Binary名稱支援直接使用ossutil,您無需根據系統重新整理Binary名稱。如果您的ossutil版本低於1.6.16,則需要根據系統重新整理Binary名稱。更多資訊,請參見命令列工具ossutil命令參考。
關于歸檔儲存、冷Archive Storage或者深度冷Archive Storage類型檔案的解凍狀態以及費用說明,請參見解凍檔案。
僅1.7.11及以上版本支援解凍檔案。
命令格式
ossutil restore oss://bucketname[/prefix][local_xml_file]
[--encoding-type <value>]
[--payer <value>]
[--version-id <value>]
[-r, --recursive]
[-f, --force]
[--object-file, <value>]
[--snapshot-path, <value>]
[--disable-ignore-error]
[--retry-times <value>]
[-j,--job <value>]
參數及選項說明如下:
配置項 | 說明 |
bucketname | Bucket名稱。 |
prefix | Bucket下的資源,例如目錄、檔案等。 |
local_xml_file | 本地XML格式檔案,用於儲存冷歸檔類型檔案的解凍參數。 |
--encoding-type | 對prefix名稱進行編碼,取值為url。如果不指定該選項,則表示prefix未經過編碼。 |
--payer | 請求的支付方式。如果希望訪問指定路徑下的資源產生的流量、請求次數等費用由要求者支付,請將此選項的值設定為requester。 |
--version-id | Object的指定版本。僅適用於已開啟或暫停版本控制狀態Bucket下的Object。 |
-r,--recursive | 如果指定該選項時,ossutil將解凍所有與prefix匹配的檔案。如果不指定該選項,則ossutil只解凍指定檔案。 |
-f, --force | 強制操作,不進行詢問提示。 |
--object-file | 該選項用於批量解凍多個Archive Storage、冷Archive Storage或者深度冷Archive Storage類型的Object。使用該選項的步驟如下:
說明 當其中一個Object操作出現錯誤時,ossutil會將該Object的錯誤資訊記錄到report檔案,並繼續解凍其他Object。成功操作的Object資訊不會被記錄到report檔案中。 |
--snapshot-path | 如果指定該選項,則只對本次操作的Object產生快照。如果操作的Object已經存在快照資訊,則忽略本次操作。 說明 該選項需結合-r,--recursive或--object-file選項使用。 |
--disable-ignore-error | 大量操作時不忽略錯誤。 |
--retry-times | 發生錯誤後的重試次數。預設值為10,取值範圍為1~500。 |
-j,--job | 多檔案操作時的並發任務數,預設值為3,取值範圍為1~10000。 |
解凍歸檔類型Object
解凍歸檔類型Object需要1分鐘時間,解凍中的Object不支援讀取。
解凍狀態預設持續1天。對解凍狀態的檔案調用restore命令,會將Object的解凍狀態延長1天,最多可以延長到7天,之後Object又回到初始時的冷凍狀態。
您可以通過cp命令轉換Object儲存類型。更多資訊,請參見修改檔案儲存體類型。
解凍歸檔類型Object時,也可以在本地建立XML格式檔案config.xml,並在檔案中配置解凍天數參數。
<RestoreRequest>
<Days>3</Days>
</RestoreRequest>
解凍單個歸檔類型Object
以下樣本用於解凍目標儲存空間examplebucket下名為exampleobject.txt的歸檔類型Object,並且解凍狀態保持3天。
ossutil restore oss://examplebucket/exampleobject.txt config.xml
以下樣本用於解凍目標儲存空間examplebucket下歸檔類型檔案exampleobject.txt的指定版本。
ossutil restore oss://examplebucket/exampleobject.txt --version-id CAEQARiBgID8rumR2hYiIGUyOTAyZGY2MzU5MjQ5ZjlhYzQzZjNlYTAyZDE3**** config.xml
關於擷取Object所有版本的具體操作,請參見ls(列舉帳號層級下的資源)。
解凍多個歸檔類型Object
樣本一:不同目錄下
當您需要解凍examplebucket中的多個歸檔類型Object,且這些Object歸屬於Bucket的不同目錄下,例如exampleobject1.jpg位於examplebucket根目錄下,exampleobject2.png位於examplebucket的dir1/目錄下,exampleobject3.txt位於examplebucket的dir2/目錄下。您需要按照以下步驟完成解凍操作。
將待解凍的多個歸檔類型Object寫入本地檔案localfile.txt。
exampleobject1.jpg dir1/exampleobject2.png dir2/exampleobject3.txt
在config.xml檔案中配置解凍狀態時間為3天。
<RestoreRequest> <Days>3</Days> </RestoreRequest>
解凍多個歸檔類型Object。
結合--object-file選項解凍目標儲存空間examplebucket下的多個歸檔類型Object。
ossutil restore oss://examplebucket --object-file localfile.txt --snapshot-path dir/ config.xml
樣本二:相同目錄下
方法一
您可以參考樣本一解凍某個Bucket中相同目錄下的多個Archive Storage類型Object。
方法二
結合-r選項,解凍examplebucket中指定目錄dest下的所有歸檔類型Object。
ossutil restore oss://examplebucket/dest -r config.xml
返回結果
以上操作成功後,返回結果中將包含發起解凍請求所用時間長度,樣本如下:
0.106852(s) elapsed
解凍冷歸檔類型Object
根據解凍Object的大小,實際解凍時間可能會有變化,請以實際解凍時間為準。
解凍單個或多個冷歸檔類型Object前,您需要在本地建立XML格式檔案config.xml,並在檔案中配置如下解凍參數。
<RestoreRequest>
<Days>3</Days>
<JobParameters>
<Tier>Bulk</Tier>
</JobParameters>
</RestoreRequest>
配置參數說明如下:
參數 | 說明 |
Days | 冷歸檔檔案保持解凍狀態的時間,單位為天。 取值範圍:1~365 |
Tier | 冷歸檔檔案解凍優先順序。 取值如下:
|
解凍單個冷歸檔類型Object
按照config.xml檔案配置,指定在1小時內解凍目標儲存空間examplebucket下的exampleobject.jpg,並且解凍狀態保持3天。
ossutil restore oss://examplebucket/exampleobject.jpg config.xml
解凍多個冷歸檔類型Object
樣本一:不同目錄下
當您需要解凍examplebucket中的多個冷歸檔類型Object,且這些Object歸屬於Bucket的不同目錄下,例如exampleobject1.jpg位於examplebucket根目錄下,exampleobject2.png位於examplebucket的dir1/目錄下,exampleobject3.txt位於examplebucket的dir2/目錄下。您需要按照以下步驟完成解凍操作。
將待解凍的多個冷歸檔類型Object寫入本地檔案localfile.txt。
exampleobject1.jpg dir1/exampleobject2.png dir2/exampleobject3.txt
解凍多個Object。
結合--object-file選項,按照config.xml檔案配置,指定在1小時內解凍目標儲存空間examplebucket下的多個冷歸檔類型Object,並且解凍狀態保持3天。
ossutil restore oss://examplebucket --object-file localfile.txt --snapshot-path dir/ config.xml
樣本二:相同目錄下
方法一
您可以參考樣本一解凍某個Bucket中相同目錄下的多個冷Archive Storage類型Object。
方法二
結合-r選項,解凍examplebucket下指定目錄dest下的所有冷歸檔類型Object。
ossutil restore oss://examplebucket/dest -r config.xml
返回結果
以上操作成功後,返回結果中將包含發起解凍請求所用時間長度,樣本如下:
0.106852(s) elapsed
解凍深度冷歸檔類型Object
根據解凍Object的大小,實際解凍時間可能會有變化,請以實際解凍時間為準。
解凍單個或多個深度冷歸檔類型Object前,您需要在本地建立XML格式檔案config.xml,並在檔案中配置如下解凍參數。
<RestoreRequest>
<Days>3</Days>
<JobParameters>
<Tier>Standard</Tier>
</JobParameters>
</RestoreRequest>
配置參數說明如下:
參數 | 說明 |
Days | 深度冷歸檔檔案保持解凍狀態的時間,單位為天。 取值範圍:1~365 |
Tier | 深度冷歸檔檔案解凍優先順序。 取值如下:
|
解凍單個深度冷歸檔類型Object
按照config.xml檔案配置,指定在48小時內解凍目標儲存空間examplebucket下的exampleobject.jpg,並且解凍狀態保持3天。
ossutil restore oss://examplebucket/exampleobject.jpg config.xml
解凍多個深度冷歸檔類型Object
樣本一:不同目錄下
當您需要解凍examplebucket中的多個深度冷歸檔類型Object,且這些Object歸屬於Bucket的不同目錄下,例如exampleobject1.jpg位於examplebucket根目錄下,exampleobject2.png位於examplebucket的dir1/目錄下,exampleobject3.txt位於examplebucket的dir2/目錄下。您需要按照以下步驟完成解凍操作。
將待解凍的多個深度冷歸檔類型Object寫入本地檔案localfile.txt。
exampleobject1.jpg dir1/exampleobject2.png dir2/exampleobject3.txt
解凍多個Object。
結合--object-file選項,按照config.xml檔案配置,指定在48小時內解凍目標儲存空間examplebucket下的多個深度冷歸檔類型Object,並且解凍狀態保持3天。
ossutil restore oss://examplebucket --object-file localfile.txt --snapshot-path dir/ config.xml
樣本二:相同目錄下
方法一
您可以參考樣本一解凍某個Bucket中相同目錄下的多個深度冷Archive Storage類型Object。
方法二
結合-r選項,解凍examplebucket下指定目錄dest下的所有深度冷歸檔類型Object。
ossutil restore oss://examplebucket/dest -r config.xml
返回結果
以上操作成功後,返回結果中將包含發起解凍請求所用時間長度,樣本如下:
0.106852(s) elapsed
通用選項
當您需要通過命令列工具ossutil切換至另一個地區的Bucket時,可以通過-e選項指定該Bucket所屬的Endpoint。當您需要通過命令列工具ossutil切換至另一個阿里雲帳號下的Bucket時,可以通過-i選項指定該帳號的AccessKey ID,並通過-k選項指定該帳號的AccessKey Secret。
例如您需要解凍另一個阿里雲帳號下,華東2(上海)地區下目標儲存空間testbucket下的exampletest.png檔案,命令如下:
ossutil restore oss://testbucket/exampletest.png -e oss-cn-shanghai.aliyuncs.com -i LTAI4Fw2NbDUCV8zYUzA**** -k 67DLVBkH7EamOjy2W5RVAHUY9H****
關於此命令的其他通用選項的更多資訊,請參見通用選項。
相關文檔
如果需要查看檔案解凍是否已完成,請參見stat(查看Bucket和Object資訊)。
如果需要使OSS檔案永久處於解凍狀態,請參見如何使OSS檔案永久處於解凍狀態?。