GetObject介面用於擷取Bucket中的對象檔案(Object),調用此介面需要對目標對象具有讀取許可權。
請求文法
GET /ObjectName HTTP/1.1
Host: BucketName.oss-cn-hangzhou.aliyuncs.com
Date: GMT Date
Authorization: SignatureValue
Range: bytes=ByteRange(可選)關於公用要求標頭Authorization的計算方法,詳見Authorization 要求標頭。
下載OSS中的大檔案(超過100 MB)時,如果傳輸過程中受到網路環境影響,會導致傳輸失敗。通過HTTP Range請求可擷取大檔案的部分內容,實現斷點續傳和並發下載,提升傳輸可靠性。詳細資料參見如何通過HTTP Range請求分段擷取OSS資源。
使用說明
GetObject介面預設支援HTTP和HTTPS兩種訪問方式。支援多範圍(Multi-Range)下載功能,可在單次請求中指定多個位元組範圍進行下載,提升下載效率。
如需設定僅允許通過HTTPS方式訪問,可使用Bucket Policy的授權訪問方式。
如果Object類型為歸檔類型,需要先完成解凍檔案(RestoreObject)請求或為Object所在Bucket開啟歸檔直讀功能。
許可權要求
版本控制
介面行為
計費與流控
請求參數
要求標頭
OSS支援在GET請求中通過要求標頭來自訂回應標頭,但只有請求成功(即返回碼為200 OK)才會將回應標頭的值設定成GET要求標頭中指定的值。
OSS不支援在匿名訪問的GET請求中自訂回應標頭。
名稱 | 類型 | 是否必選 | 描述 |
Range | 字串 | 否 | 指定檔案傳輸的範圍。
預設值:無 |
x-oss-multi-range-behavior | 字串 | 否 | 開啟多範圍(Multi-Range)下載功能。
預設值:無 |
If-Modified-Since | 字串 | 否 | 如果指定的時間早於實際修改時間或指定的時間不符合規範,則直接返回Object,並返回200 OK;如果指定的時間等於或者晚於實際修改時間,則返回304 Not Modified。 時間格式:GMT,例如 預設值:無 |
If-Unmodified-Since | 字串 | 否 | 如果指定的時間等於或者晚於Object實際修改時間,則正常傳輸Object,並返回200 OK;如果指定的時間早於實際修改時間,則返回412 Precondition Failed。 時間格式:GMT,例如 If-Modified-Since和If-Unmodified-Since可以同時使用。 預設值:無 |
If-Match | 字串 | 否 | 如果傳入的ETag和Object的ETag匹配,則正常傳輸Object,並返回200 OK;如果傳入的ETag和Object的ETag不匹配,則返回412 Precondition Failed。 Object的ETag值用於驗證資料是否發生了更改,基於ETag值可驗證資料完整性。 預設值:無 |
If-None-Match | 字串 | 否 | 如果傳入的ETag值和Object的ETag不匹配,則正常傳輸Object,並返回200 OK;如果傳入的ETag和Object的ETag匹配,則返回304 Not Modified。 If-Match和If-None-Match可以同時使用。 預設值:無 |
Accept-Encoding | 字串 | 否 | 指定用戶端的編碼類別型。 如果要對返回內容進行Gzip壓縮傳輸,需要在要求標頭中以顯示方式加入Accept-Encoding:gzip。 OSS會根據Object的Content-Type和Object大小(不小於1KB),判斷傳輸過程中是否對資料進行Gzip壓縮。滿足條件時,資料以壓縮形式傳輸,否則,資料以原始形式傳輸。
預設值:無 |
查詢參數
名稱 | 類型 | 是否必選 | 描述 |
response-content-language | 字串 | 否 | 指定OSS返回請求的content-language頭。 預設值:無 |
response-expires | 字串 | 否 | 指定OSS返回請求的expires頭。 預設值:無 |
response-cache-control | 字串 | 否 | 指定OSS返回請求的cache-control頭。 預設值:無 |
response-content-disposition | 字串 | 否 | 指定OSS返回請求的content-disposition頭。 預設值:無 |
response-content-encoding | 字串 | 否 | 指定OSS返回請求的content-encoding頭。 預設值:無 |
返回參數
回應標頭
如果Object類型為軟連結,則返回目標Object的內容。回應標頭中Content-Length、ETag、Content-Md5為目標Object的中繼資料;Last-Modified取目標Object和軟連結對應的最大值(即在兩者中取更新較晚的時間);其他均為軟連結的中繼資料。
名稱 | 類型 | 描述 |
x-oss-server-side-encryption | 字串 | 若Object在服務端採用熵編碼加密儲存,使用GET請求時,系統會自動解密返回給使用者,且在回應標頭中返回x-oss-server-side-encryption,表明該Object的服務端密碼編譯演算法。 |
x-oss-sealed-time | 字串 | 如果Object為已執行Seal操作的Appendable Object,則返回該要求標頭,表示該檔案執行Seal操作的時間。取值類似 |
x-oss-tagging-count | 字串 | 對象關聯的標籤的個數。僅當有讀取標籤許可權時返回。 |
x-oss-expiration | 字串 | 配置了生命週期規則的Bucket中Object的到期時間。
|
使用樣本
基本下載
請求樣本
GET /oss.jpg HTTP/1.1 Host: oss-example.oss-cn-hangzhou.aliyuncs.com Date: Fri, 24 Feb 2012 06:38:30 GMT Authorization: OSS4-HMAC-SHA256 Credential=LTAI********************/20250417/cn-hangzhou/oss/aliyun_v4_request,Signature=a7c3554c729d71929e0b84489addee6b2e8d5cb48595adfc51868c299c0c218e返回樣本(當Object為檔案時)
HTTP/1.1 200 OK x-oss-request-id: 3a8f-2e2d-7965-3ff9-51c875b***** x-oss-object-type: Normal Date: Fri, 24 Feb 2012 06:38:30 GMT Last-Modified: Fri, 24 Feb 2012 06:07:48 GMT ETag: "5B3C1A2E0563E1B002CC607C*****" Content-Type: image/jpg Content-Length: 344606 Server: AliyunOSS [344606 bytes of object data]返回樣本(當Object為目錄時)
當Object為目錄時,如果請求中帶有自訂返回訊息頭例如Range等,則自訂的返回訊息頭無效。
HTTP/1.1 200 OK x-oss-request-id: 3a8f-2e2d-7965-3ff9-51c875b***** x-oss-object-type: Normal Date: Wed, 31 Mar 2021 06:38:30 GMT Last-Modified: Tue, 30 Mar 2021 06:07:48 GMT ETag: "null" Content-Type: application/x-directory Content-Length: 0 Server: AliyunOSS
範圍下載
請求樣本
GET /oss.jpg HTTP/1.1 Host:oss-example.oss-cn-hangzhou.aliyuncs.com Date: Fri, 28 Feb 2012 05:38:42 GMT Range: bytes=100-900 Authorization: OSS4-HMAC-SHA256 Credential=LTAI********************/20250417/cn-hangzhou/oss/aliyun_v4_request,Signature=a7c3554c729d71929e0b84489addee6b2e8d5cb48595adfc51868c299c0c218e返回樣本
HTTP/1.1 206 Partial Content x-oss-request-id: 28f6-15ea-8224-234e-c0ce407***** x-oss-object-type: Normal Date: Fri, 28 Feb 2012 05:38:42 GMT Last-Modified: Fri, 24 Feb 2012 06:07:48 GMT ETag: "5B3C1A2E05E1B002CC607C*****" Accept-Ranges: bytes Content-Range: bytes 100-900/344606 Content-Type: image/jpg Content-Length: 801 Server: AliyunOSS [801 bytes of object data]
多範圍下載
請求樣本
GET /oss.jpg HTTP/1.1 Host:oss-example.oss-cn-hangzhou.aliyuncs.com Date: Fri, 28 Feb 2012 05:38:42 GMT Range: bytes=0-1,3-4,5-6,7-8 x-oss-multi-range-behavior: multi-range Authorization: OSS4-HMAC-SHA256 Credential=LTAI********************/20250417/cn-hangzhou/oss/aliyun_v4_request,Signature=a7c3554c729d71929e0b84489addee6b2e8d5cb48595adfc51868c299c0c218e返回樣本
HTTP/1.1 206 Partial Content x-oss-request-id: 28f6-15ea-8224-234e-c0ce407***** x-oss-object-type: Normal Date: Fri, 28 Feb 2012 05:38:42 GMT Last-Modified: Fri, 24 Feb 2012 06:07:48 GMT ETag: "5B3C1A2E05E1B002CC607C*****" Accept-Ranges: bytes Content-Type: multipart/byteranges;boundary=63ce7776-c104-417f-8a65-ccaa3b17f428 Content-Length: 446 Server: AliyunOSS --63ce7776-c104-417f-8a65-ccaa3b17f428 Content-type: text/plain Content-range: bytes 0-1/10 [ 2 Bytes object content] --63ce7776-c104-417f-8a65-ccaa3b17f428 Content-type: text/plain Content-range: bytes 3-4/10 [ 2 Bytes object content] --63ce7776-c104-417f-8a65-ccaa3b17f428 Content-type: text/plain Content-range: bytes 5-6/10 [ 2 Bytes object content] --63ce7776-c104-417f-8a65-ccaa3b17f428 Content-type: text/plain Content-range: bytes 7-8/10 [ 2 Bytes object content] --63ce7776-c104-417f-8a65-ccaa3b17f428--
自訂回應標頭
請求樣本
GET /oss.jpg?response-expires=Thu%2C%2001%20Feb%202012%2017%3A00%3A00%20GMT&response-cache-control=No-cache&response-content-disposition=attachment%253B%2520filename%253Dtesting.txt&response-content-encoding=utf-8&response-content-language=%E4%B8%AD%E6%96%87 HTTP/1.1 Host: oss-example.oss-cn-hangzhou.aliyuncs.com: Date: Fri, 24 Feb 2012 06:09:48 GMT返回樣本
HTTP/1.1 200 OK x-oss-request-id: 559CC9BDC75A644***** x-oss-object-type: Normal Date: Fri, 24 Feb 2012 06:09:48 GMT Last-Modified: Fri, 24 Feb 2012 06:07:48 GMT ETag: "5B3C1A2E053D1B002CC607*****" Content-Length: 344606 Connection: keep-alive Content-disposition: attachment; filename=testing.txt Content-language: 中文 Content-type: jpg Cache-control: no-cache Expires: Fri, 24 Feb 2012 17:00:00 GMT Server: AliyunOSS [344606 bytes of object data]
軟連結化物件
請求樣本
GET /link-to-oss.jpg HTTP/1.1 Accept-Encoding: identity Date: Tue, 08 Nov 2016 03:17:58 GMT Host: oss-example.oss-cn-hangzhou.aliyuncs.com Authorization: OSS4-HMAC-SHA256 Credential=LTAI********************/20250417/cn-hangzhou/oss/aliyun_v4_request,Signature=a7c3554c729d71929e0b84489addee6b2e8d5cb48595adfc51868c299c0c218e返回樣本
HTTP/1.1 200 OK Server: AliyunOSS Date: Tue, 08 Nov 2016 03:17:58 GMT Content-Type: application/octet-stream Content-Length: 20 Connection: keep-alive x-oss-request-id: 582143E6A212AD***** Accept-Ranges: bytes ETag: "8086265EFC021F9A2F09BF4****" Last-Modified: Tue, 08 Nov 2016 03:17:58 GMT x-oss-object-type: Symlink Content-MD5: gIYmXvwCEe0fmi8Jv0Y****
歸檔對象(已解凍)
請求樣本
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: OSS4-HMAC-SHA256 Credential=LTAI********************/20250417/cn-hangzhou/oss/aliyun_v4_request,Signature=a7c3554c729d71929e0b84489addee6b2e8d5cb48595adfc51868c299c0c218e返回樣本
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 [344606 bytes of object data]
版本控制情境
指定版本ID
請求樣本
GET /example?versionId=CAEQNhiBgMDJgZCA0BYiIDc4MGZjZGI2OTBjOTRmNTE5NmU5NmFhZjhjYmY0**** HTTP/1.1 Host: versioning-get.oss-cn-hangzhou.aliyuncs.com Date: Tue, 09 Apr 2019 02:58:06 GMT Authorization: OSS4-HMAC-SHA256 Credential=LTAI********************/20250417/cn-hangzhou/oss/aliyun_v4_request,Signature=a7c3554c729d71929e0b84489addee6b2e8d5cb48595adfc51868c299c0c218e返回樣本
HTTP/1.1 200 OK x-oss-request-id: 5CAC0A3EDE0170***** x-oss-version-id: CAEQNhiBgM0BYiIDc4MGZjZGI2OTBjOTRmNTE5NmU5NmFhZjhjYmY***** x-oss-object-type: Normal Date: Tue, 17 Apr 2025 02:58:06 GMT Last-Modified: Fri, 22 Mar 2018 08:07:50 GMT ETag: "5B3C1A2E053D7002CC607C5A*****" Content-Type: text/html Content-Length: 362149 Server: AliyunOSS [362149 bytes of object data]
目前的版本為刪除標記
請求樣本
GET /example HTTP/1.1 Host: versioning-get.oss-cn-hangzhou.aliyuncs.com Date: Tue, 17 Apr 2025 03:22:33 GMT Authorization: OSS4-HMAC-SHA256 Credential=LTAI********************/20250417/cn-hangzhou/oss/aliyun_v4_request,Signature=a7c3554c729d71929e0b84489addee6b2e8d5cb48595adfc51868c299c0c218e返回樣本
HTTP/1.1 404 Not Found x-oss-request-id: 5CAC0FEADE0170***** x-oss-delete-marker: true x-oss-version-id: CAEQNxiBgyA0BYiIDc4ZDdmNTA2MGViZTRiNjE5NzZlZWM4OWM5OT***** Date: Tue, 17 Apr 2025 03:22:33 GMT Content-Type: application/xml Connection: keep-alive Server: AliyunOSS <?xml version="1.0" encoding="UTF-8"?> <Error> <Code>NoSuchKey</Code> <Message>The specified key does not exist.</Message> <RequestId>5CAC0FEADE0170*****</RequestId> <HostId>versioning-get.oss-cn-hangzhou.aliyun*****</HostId> <Key>example</Key> </Error>
指定刪除標記版本ID
請求樣本
GET /example?versionId=CAEQMxiBgMCfqaWA0BYiIDliMWI4MGQ0MTVmMjQ3MmE5MDNlMmY4YmFkYTk3**** HTTP/1.1 Host: versioning-get.oss-cn-hangzhou.aliyuncs.com Date: Tue, 17 Apr 2025 03:09:44 GMT Authorization: OSS4-HMAC-SHA256 Credential=LTAI********************/20250417/cn-hangzhou/oss/aliyun_v4_request,Signature=a7c3554c729d71929e0b84489addee6b2e8d5cb48595adfc51868c299c0c218e返回樣本
HTTP/1.1 405 Method Not Allowed x-oss-request-id: 5CAC0CF8DE01700***** x-oss-delete-marker: true x-oss-version-id: CAEQMxiBgMCfqaWADliMWI4MGQ0MTVmMjQ3MmE5MDNlMmY4YmFkYTk***** Allow: DELETE Date: Tue, 17 Apr 2025 03:09:44 GMT Content-Type: application/xml Content-Length: 318 Connection: keep-alive Server: AliyunOSS <?xml version="1.0" encoding="UTF-8"?> <Error> <Code>MethodNotAllowed</Code> <Message>The specified method is not allowed against this resource.</Message> <RequestId>5CAC0CF8DE0170*****</RequestId> <HostId>versioning-get.oss-cn-hangzhou.aliyunc*****</HostId> <Method>GET</Method> <ResourceType>DeleteMarker</ResourceType> </Error>
錯誤碼
如果請求失敗,OSS將返回包含錯誤碼的響應體,具體錯誤碼如下表所示。
錯誤碼 | HTTP狀態代碼 | 說明 |
NoSuchKey | 404 | 目標Object不存在。 |
SymlinkTargetNotExist | 404 | Object類型為軟連結,且目標Object不存在。 |
InvalidTargetType | 400 | Object類型為軟連結,且目標Object類型仍為軟連結。 |
InvalidObjectState | 403 | 下載歸檔類型的Object時:
|
Not Modified | 304 | 返回該錯誤的可能原因如下:
|
Precondition Failed | 412 | 返回該錯誤的可能原因如下:
|
Not Found | 404 | 在請求中未指定Object的versionId,且Object的目前的版本是刪除標記(Delete Marker)時,返回該錯誤。 |
Method Not Allowed | 405 | 在請求中指定了Object的versionId,且versionId對應的是刪除標記時,返回該錯誤。 |