對歸檔、冷歸檔、深度冷歸檔的OSS檔案進行解凍後,要確認檔案已完成解凍以進行讀取,對於大量檔案,您可以調用ListObjectsV2
、ListObjects
、ListObjectVersions
介面指定某個首碼(prefix)來批量查看檔案的解凍狀態資訊,通過響應元素RestoreInfo
進行判斷;對於少量檔案,您可以調用HeadObject
介面精確指定檔案名稱(key)來查看檔案的解凍狀態資訊,通過回應標頭x-oss-restore
進行判斷。
批量查看檔案的解凍狀態
如果檔案數量較多,要批量查看檔案的解凍狀態,您可以調用ListObjectsV2
、ListObjects
、ListObjectVersions
介面並檢查響應元素RestoreInfo
來擷取解凍狀態資訊:
如果沒有進行解凍操作,或者解凍操作已經逾時,沒有
RestoreInfo
欄位返回。如果進行瞭解凍操作,但解凍未完成,
RestoreInfo
欄位會顯示ongoing-request="true"
。如果進行瞭解凍操作,且解凍完成,
RestoreInfo
欄位將會顯示ongoing-request="false"
,並且會包含一個expiry-date
,它表示對象可讀狀態的截止時間。
注意事項
調用ListObjectsV2
、ListObjects
、ListObjectVersions
介面時,不支援指定檔案的儲存類型。如果需要在返回結果種篩選出歸檔、冷歸檔、深度冷歸檔等儲存類型的檔案,您必須手動檢查每個檔案的storage-class
屬性,並進行用戶端過濾。
許可權說明
要批量查看檔案的解凍狀態,您必須具有
oss:ListObjects
許可權。具體操作,請參見為RAM使用者授權自訂的權限原則。要批量查看所有版本的檔案的解凍狀態,您必須具有
oss:ListObjectVersions
許可權。具體操作,請參見為RAM使用者授權自訂的權限原則。
OSS控制台和命令列工具ossutil不支援通過調用ListObjectsV2
、ListObjects
、ListObjectVersions
介面批量查看檔案的解凍狀態。
查看指定檔案的解凍狀態
如果檔案數量較少,要查看指定檔案的解凍狀態,您可以調用HeadObject
介面並檢查返回頭x-oss-restore
來擷取解凍狀態資訊:
如果沒有進行解凍操作,或者解凍操作已經逾時,那麼
x-oss-restore
欄位不會返回。如果進行瞭解凍操作,但解凍未完成,
x-oss-restore
欄位會顯示ongoing-request="true"
。如果進行瞭解凍操作,且解凍完成,
x-oss-restore
欄位將會顯示ongoing-request="false"
,並且會包含一個expiry-date
,它表示對象可讀狀態的截止時間。
注意事項
如果檔案數量較多,調用HeadObject
介面查看檔案的解凍狀態會產生較高的GET請求費用。更多資訊,請參見請求費用。
許可權說明
要查看指定檔案的解凍狀態,您必須具有oss:GetObject
許可權。具體操作,請參見為RAM使用者授權自訂的權限原則。