問題描述
無法讀取請求中指定的Object。
問題原因
您讀取的Object是歸檔類型,該Object當前處於不可讀取的狀態,可能原因如下:
沒有對Object完成RestoreObject操作。例如,沒有提交RestoreObject請求。上一次提交RestoreObject已逾時。已經提交RestoreObject請求,但RestoreObject操作還沒有完成。
Object所在的儲存空間未開啟歸檔直讀。如果未開啟歸檔直讀,就需對Object完成RestoreObject操作。
問題樣本
以下請求中指向的oss.jpg仍處于歸檔狀態,無法讀取。
GET /oss.jpg HTTP/1.1
Host: oss-archive-example.oss-cn-hangzhou.aliyuncs.com
Date: Sat, 15 Apr 2017 09:38:30 GMT
Authorization: OSS qn6q**************:77Dv****************
解決方案
您可以選擇以下任意一種解決方案:
解凍Object:
調用RestoreObject介面解凍Object,並確保已完成解凍操作。
其中,x-oss-restore要求標頭中的expiry-date欄位表示解凍到期時間。
解凍完成後,返迴響應如下:
HTTP/1.1 200 OK x-oss-request-id: 58F723829F29F18D7F00***** x-oss-object-type: Normal x-oss-restore: ongoing-request="false", expiry-date="Sun, 16 Apr 2017 08:12:33 GMT" Date: Sat, 15 Apr 2017 09:38:30 GMT Last-Modified: Sat, 15 Apr 2017 06:07:48 GMT ETag: "5B3C1A2E0763E1B002CC607C*****" Content-Type: image/jpg Content-Length: 344606 Server: AliyunOSS [354606 bytes of object data]
在解凍到期時間到期前,重新發起GET請求。
開啟歸檔直讀:為Object所在的儲存空間開啟歸檔直讀。開啟歸檔直讀後,儲存空間下的所有Archive Storage類型Object無需執行RestoreObject,就處於可讀取的狀態。具體操作,請參見歸檔直讀。