GetObject 操作は、バケットからオブジェクトを取得します。この操作を呼び出すには、オブジェクトに対する読み取り権限が必要です。
リクエスト構文
GET /ObjectName HTTP/1.1
Host: BucketName.oss-cn-hangzhou.aliyuncs.com
Date: GMT Date
Authorization: SignatureValue
Range: bytes=ByteRange (Optional)Authorizationヘッダーの署名の計算方法については、「Authorization リクエストヘッダー」をご参照ください。OSS から大きなファイル (100 MB 超) をダウンロードすると、ネットワークの問題で転送が失敗することがあります。HTTP Range リクエストを使用して、大きなファイルの一部を取得できます。これにより、再開可能および同時ダウンロードが可能になり、転送の信頼性が向上します。詳細については、「HTTP Range リクエストを使用して OSS リソースをセグメントで取得する方法」をご参照ください。
使用上の注意
GetObject 操作は、デフォルトで HTTP および HTTPS 経由のアクセスをサポートします。また、マルチレンジダウンロードもサポートしています。単一のリクエストで複数のバイト範囲を指定して、ダウンロード効率を向上させることができます。
HTTPS 経由のアクセスのみを許可するには、バケットポリシーを使用してアクセスを許可できます。
オブジェクトがアーカイブストレージタイプにある場合、まず RestoreObject リクエストを送信するか、オブジェクトが保存されているバケットのアーカイブオブジェクトへのリアルタイムアクセスを有効にする必要があります。
権限
バージョン管理
API の動作
課金と速度制限
リクエストパラメーター
リクエストヘッダー
GET リクエストでリクエストヘッダーを使用して、応答ヘッダーをカスタマイズできます。応答ヘッダーは、リクエストが成功した場合 (リターンコードが 200 OK の場合) にのみ、GET リクエストヘッダーで指定された値に設定されます。
OSS は、匿名アクセスの GET リクエストでの応答ヘッダーのカスタマイズをサポートしていません。
名前 | タイプ | 必須 | 説明 |
Range | String | No | 転送するファイルの範囲。
デフォルト: なし。 |
x-oss-multi-range-behavior | String | No | マルチレンジダウンロード機能を有効にします。
デフォルト: なし。 |
If-Modified-Since | String | No | 指定された時刻がオブジェクトの実際の変更時刻より前であるか、指定された時刻が無効な場合、オブジェクトは 200 OK ステータスで返されます。指定された時刻が実際の変更時刻と同じかそれ以降の場合、304 Not Modified が返されます。 フォーマット: GMT。例: デフォルト: なし。 |
If-Unmodified-Since | String | No | 指定された時刻がオブジェクトの実際の変更時刻と同じかそれ以降の場合、オブジェクトは転送され、200 OK が返されます。指定された時刻が実際の変更時刻より前の場合、412 Precondition Failed が返されます。 フォーマット: GMT。例: If-Modified-Since と If-Unmodified-Since は同時に使用できます。 デフォルト: なし。 |
If-Match | String | No | 指定した ETag がオブジェクトの ETag と一致する場合、オブジェクトは転送され、200 OK が返されます。指定した ETag がオブジェクトの ETag と一致しない場合、412 Precondition Failed が返されます。 オブジェクトの ETag は、データが変更されたかどうかを確認するために使用されます。ETag 値を使用してデータ整合性を検証できます。 デフォルト: なし。 |
If-None-Match | String | No | 指定した ETag がオブジェクトの ETag と一致しない場合、オブジェクトは転送され、200 OK が返されます。指定した ETag がオブジェクトの ETag と一致する場合、304 Not Modified が返されます。 If-Match と If-None-Match は同時に使用できます。 デフォルト: なし。 |
Accept-Encoding | String | No | クライアントのエンコーディングタイプ。 返されたコンテンツを Gzip 圧縮形式で転送するには、リクエストヘッダーに明示的に Accept-Encoding:gzip を追加する必要があります。 OSS は、オブジェクトの Content-Type とサイズ (少なくとも 1 KB) に基づいて、転送中に Gzip を使用してデータを圧縮するかどうかを決定します。条件が満たされた場合、データは圧縮形式で転送されます。それ以外の場合、データは元の形式で転送されます。
デフォルト: なし。 |
クエリパラメーター
名前 | タイプ | 必須 | 説明 |
response-content-language | String | No | OSS がリクエストに対して返す content-language ヘッダーを指定します。 デフォルト: なし。 |
response-expires | String | No | OSS がリクエストに対して返す expires ヘッダーを指定します。 デフォルト: なし。 |
response-cache-control | String | No | OSS がリクエストに対して返す cache-control ヘッダーを指定します。 デフォルト: なし。 |
response-content-disposition | String | No | OSS がリクエストに対して返す content-disposition ヘッダーを指定します。 デフォルト: なし。 |
response-content-encoding | String | No | OSS がリクエストに対して返す content-encoding ヘッダーを指定します。 デフォルト: なし。 |
応答パラメーター
応答ヘッダー
オブジェクトがシンボリックリンクの場合、ターゲットオブジェクトのコンテンツが返されます。応答ヘッダーでは、Content-Length、ETag、および Content-Md5 はターゲットオブジェクトのメタデータです。Last-Modified は、ターゲットオブジェクトとシンボリックリンクの変更時刻のうち、遅い方です。他のヘッダーには、シンボリックリンクのメタデータが含まれます。
名前 | タイプ | 説明 |
x-oss-server-side-encryption | String | オブジェクトがサーバ側暗号化で保存されている場合、GET リクエストを送信するとオブジェクトは自動的に復号化されて返されます。x-oss-server-side-encryption ヘッダーは、オブジェクトのサーバ側暗号化アルゴリズムを示すために応答で返されます。 |
x-oss-sealed-time | String | オブジェクトが Seal 操作が実行された追加可能オブジェクトである場合、このヘッダーはファイルに対して Seal 操作が実行された時刻を示すために返されます。値は |
x-oss-tagging-count | String | オブジェクトに関連付けられたタグの数。このヘッダーは、タグを読み取る権限がある場合にのみ返されます。 |
x-oss-expiration | String | ライフサイクルルールが設定されているバケット内のオブジェクトの有効期限。
|
例
基本的なダウンロード
リクエストの例
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応答の例(オブジェクトがファイルの場合)
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 バイト]応答の例 (オブジェクトがフォルダの場合)
オブジェクトがフォルダの場合、リクエスト内の 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 バイト]
マルチレンジダウンロード
リクエストの例
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 バイトのオブジェクトコンテンツ] --63ce7776-c104-417f-8a65-ccaa3b17f428 Content-type: text/plain Content-range: bytes 3-4/10 [ 2 バイトのオブジェクトコンテンツ] --63ce7776-c104-417f-8a65-ccaa3b17f428 Content-type: text/plain Content-range: bytes 5-6/10 [ 2 バイトのオブジェクトコンテンツ] --63ce7776-c104-417f-8a65-ccaa3b17f428 Content-type: text/plain Content-range: bytes 7-8/10 [ 2 バイトのオブジェクトコンテンツ] --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=Chinese 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: Chinese Content-type: jpg Cache-control: no-cache Expires: Fri, 24 Feb 2012 17:00:00 GMT Server: AliyunOSS [オブジェクトデータ 344606 バイト]
シンボリックリンクオブジェクト
リクエストの例
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 バイトのオブジェクトデータ]
バージョン管理シナリオ
バージョン 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 バイトのオブジェクトデータ]
現在のバージョンが削除マーカーである
リクエストの例
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>指定されたメソッドはこのリソースに対して許可されていません。</Message> <RequestId>5CAC0CF8DE0170*****</RequestId> <HostId>versioning-get.oss-cn-hangzhou.aliyunc*****</HostId> <Method>GET</Method> <ResourceType>DeleteMarker</ResourceType> </Error>
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>指定されたメソッドはこのリソースに対して許可されていません。</Message> <RequestId>5CAC0CF8DE0170*****</RequestId> <HostId>versioning-get.oss-cn-hangzhou.aliyunc*****</HostId> <Method>GET</Method> <ResourceType>DeleteMarker</ResourceType> </Error>
エラーコード
リクエストが失敗した場合、OSS はエラーコードを含む応答本文を返します。次の表に、この操作のエラーコードを示します。
エラーコード | HTTP ステータスコード | 説明 |
NoSuchKey | 404 | ターゲットオブジェクトが存在しません。 |
SymlinkTargetNotExist | 404 | オブジェクトはシンボリックリンクであり、ターゲットオブジェクトが存在しません。 |
InvalidTargetType | 400 | オブジェクトはシンボリックリンクであり、ターゲットオブジェクトもシンボリックリンクです。 |
InvalidObjectState | 403 | アーカイブストレージタイプのオブジェクトをダウンロードする場合:
|
Not Modified | 304 | このエラーは、次の理由で返されます:
|
Precondition Failed | 412 | このエラーは、次の理由で返されます:
|
Not Found | 404 | オブジェクトの versionId がリクエストで指定されておらず、オブジェクトの現在のバージョンが削除マーカーである場合に、このエラーが返されます。 |
Method Not Allowed | 405 | オブジェクトの versionId がリクエストで指定されており、その versionId が削除マーカーに対応する場合に、このエラーが返されます。 |