GetObject

개요

오브젝트를 다운로드하고 메타데이터를 조회합니다. Response Header를 통해 오브젝트 메타데이터를 응답받고, Response Body를 통해 오브젝트 내용을 다운 받습니다. 만약 대용량 오브젝트인 경우, Response Body는 세그먼트 오브젝트의 연결 내용을 포함합니다. Static 대용량 오브젝트에 대한 매니페스트를 가져오려면 multipart-manifest 파라미터를 사용하시면 됩니다.

구문

GET /v1/AUTH_{project_id}/{container}/{object}

요청

Name In Type Description
project_id path string 프로젝트 ID 값을 입력합니다.
container path string 컨테이너(버킷) 이름을 입력합니다.
object path string 오브젝트의 이름을 입력합니다.
X-Auth-Token (Optional) header string 발급한 Token 값을 입력합니다.
X-Newest (Optional) header boolean true인 경우, 모든 복제본에 대해 질의를 하고 가장 최근 복제본의 정보로 응답합니다. 해당 헤더가 생략된 경우, 가장 응답이 빠른 정보로 응답합니다.
temp_url_sig query string temporary url
temp_url_expires query integer temporary url
filename (Optional) query string temporary url
multipart-manifest (Optional) query string 해당 오브젝트가 대용량 오브젝트이고 (X-Static-Large-Object: True) 해당 파라미터가 True인 경우, 세그먼트 오브젝트들의 연결 정보로 응답합니다.
Range (Optional) header string 대상 오브젝트의 범위를 지정하여 호출합니다.
Range: Bytes=-5 (마지막 5Bytes)
Range: Bytes=10-15 (10Byte 부터 15Byte 까지의 6Bytes)
Range: Bytes=10-15,-5 (10Byte 부터 15Byte 까지의 6Bytes와 마지막 5Bytes를 함께 응답, Content-Type 헤더를 multipart/byteranges로 응답)
Range: bytes=6- (6Byte 부터 마지막까지)
Range: bytes=1-3,2-5 (1Byte 부터 3Byte 까지의 3Bytes와 2Byte와 5Byte 까지의 3Bytes를 함께 응답, Content-Type 헤더를 multipart/byteranges로 응답)
If-Match (Optional) header string ETag 조건 헤더입니다. 자세한 정보는 해당 링크에서 확인 : RFC2616
If-None-Match (Optional) header string ETag 조건 헤더입니다. 자세한 정보는 해당 링크에서 확인 : RFC2616
If-Modified-Since (Optional) header string Last-Modified 조건 헤더입니다. 자세한 정보는 해당 링크에서 확인 : RFC2616
If-Unmodified-Since (Optional) header string Last-Modified 조건 헤더입니다. 자세한 정보는 해당 링크에서 확인 : RFC2616

응답

Name In Type Description
Content-Length header string 응답 결과의 길이입니다. (Bytes)
Content-Type header string 응답 결과의 MIME 타입입니다.
X-Object-Meta-name (Optional) header string 해당 오브젝트의 메타데이터입니다. 헤더명의 name 부분이 메타데이터의 키 역할을 합니다.
Content-Disposition (Optional) header string 브라우저에 대한 작동을 재정의 합니다.
Content-Encoding (Optional) header string 해당 오브젝트의 인코딩 방식입니다.
X-Delete-At (Optional) header integer 해당 오브젝트의 삭제 예정 시간입니다. (Unix Epoch timestamp)
Accept-Ranges header string 해당 오브젝트가 허용하는 Range 타입입니다.
X-Object-Manifest (Optional) header string 대용량 오브젝트(DLO) 매니페스트입니다. 형태는 {container}/{prefix}입니다.
Last-Modified header string 해당 오브젝트가 수정된 가장 최근 시간입니다. (UTC)
ETag header string ETag 헤더 값입니다.
X-Timestamp header integer 해당 오브젝트가 처음으로 생성된 시각입니다. (UNIX Time)
X-Trans-Id header string 해당 요청의 트랜젝션 ID입니다.
X-Openstack-Request-Id header string 해당 요청의 트랜젝션 ID입니다. (X-Trans-Id와 동일합니다.)
Date header string 해당 요청의 응답 시간입니다. (UTC)
X-Static-Large-Object header boolean 대용량 오브젝트(SLO) 여부입니다.

예시

요청 예시

curl -i -X GET -H "X-Auth-Token: $token" https://kr.archive.ncloudstorage.com/v1/AUTH_{project_id}/{container}/{object}

응답 예시

HTTP/1.1 200 OK
Content-Length: 210012
Accept-Ranges: bytes
Last-Modified: Tue, 11 Sep 2018 02:12:30 GMT
Etag: 9bd5b4f25faf491080654a34d57c3636
X-Timestamp: 1536631949.99141
Content-Type: text/plain
X-Trans-Id: tx9b5c78b06d0f41c5bd4bf-005b989fb7
X-Openstack-Request-Id: tx9b5c78b06d0f41c5bd4bf-005b989fb7
Date: Wed, 12 Sep 2018 05:10:15 GMT

요청이 성공하게 되면 OK (200) 상태 코드를 응답합니다. Range 파라미터를 통해 오브젝트 내용의 일부분의 요청이 성공하게 되면 Partial Content (206) 상태코드를 응답합니다. 해당 오브젝트가 없으면 Not Found (400) 상태코드를 응답합니다.