컨테이너 오퍼레이션
컨테이너(버킷) 및 오브젝트 목록 조회
구문
GET /v1/AUTH_{project_id}/{container}
요청 예 (JSON)
curl -i -X GET -H "X-Auth-Token: $token" https://kr.archive.ncloudstorage.com/v1/AUTH_{project_id}/{container}?format=json
응답 예
HTTP/1.1 200 OK
Content-Length: 352
X-Container-Object-Count: 2
X-Timestamp: 1536631895.01856
Accept-Ranges: bytes
X-Storage-Policy: standard01
Last-Modified: Tue, 11 Sep 2018 02:11:36 GMT
X-Container-Bytes-Used: 420024
Content-Type: application/json; charset=utf-8
X-Trans-Id: tx6bb706abe32b4ae5a49e8-005b978263
X-Openstack-Request-Id: tx6bb706abe32b4ae5a49e8-005b978263
Date: Tue, 11 Sep 2018 08:52:51 GMT
[
{
"hash":"9bd5b4f25faf491080654a34d57c3636",
"last_modified":"2018-09-11T02:12:29.991410",
"bytes":210012,
"name":"ncloud-test-object-0.txt",
"content_type":"text/plain"
},
{
"hash":"9bd5b4f25faf491080654a34d57c3636",
"last_modified":"2018-09-11T02:12:29.992600",
"bytes":210012,
"name":"ncloud-test-object-1.txt",
"content_type":"text/plain"
}
]
요청 예 (XML)
curl -i -X GET -H "X-Auth-Token: $token" https://kr.archive.ncloudstorage.com/v1/AUTH_{project_id}/{container}?format=XML
응답 예
HTTP/1.1 200 OK
Content-Length: 520
X-Container-Object-Count: 2
X-Timestamp: 1536631895.01856
Accept-Ranges: bytes
X-Storage-Policy: standard01
Last-Modified: Tue, 11 Sep 2018 02:11:36 GMT
X-Container-Bytes-Used: 420024
Content-Type: application/xml; charset=utf-8
X-Trans-Id: txfff4e8574d7e43f38b8e8-005b9782ef
X-Openstack-Request-Id: txfff4e8574d7e43f38b8e8-005b9782ef
Date: Tue, 11 Sep 2018 08:55:11 GMT
<?xml version="1.0" encoding="UTF-8"?>
<container name="ncloud-container-0">
<object>
<name>ncloud-test-object-0.txt</name>
<hash>9bd5b4f25faf491080654a34d57c3636</hash>
<bytes>210012</bytes>
<content_type>text/plain</content_type>
<last_modified>2018-09-11T02:12:29.991410</last_modified>
</object>
<object>
<name>ncloud-test-object-1.txt</name>
<hash>9bd5b4f25faf491080654a34d57c3636</hash>
<bytes>210012</bytes>
<content_type>text/plain</content_type>
<last_modified>2018-09-11T02:12:29.992600</last_modified>
</object>
</container>
요청이 성공하게 되면 OK (200), No Content (204) 상태 코드를 응답합니다. No Content (204)인 경우는 Content-Type이 plain 이고, 요청에 해당되는 내용이 없는 경우 발생합니다. 컨테이너(버킷)이 존재하지 않는 경우는 Not Found (404) 상태 코드를 응답합니다.
요청 파라미터
Name | In | Type | Description |
---|---|---|---|
project_id (Optional) | path | string | 프로젝트 ID를 입력합니다. |
container (Optional) | path | string | 컨테이너 이름을 입력합니다. |
limit (Optional) | query | integer | 호출 결과의 최대 개수를 제한 합니다. |
marker (Optional) | query | string | 특정 오브젝트 이후 목록을 가져옵니다. |
end_marker (Optional) | query | string | 특정 오브젝트 이전 목록을 가져옵니다. |
prefix (Optional) | query | string | 해당 문자열로 시작하는 오브젝트 목록을 호출 합니다. |
format (Optional) | query | string | 호출 결과의 포맷을 지정합니다. (json, xml, plain) |
delimiter (Optional) | query | string | 해당 문자열을 구분자로 사용하여, 오브젝트 이름에 포함되는 경우, sub-dir 결과를 보여줍니다. |
path (Optional) | query | string | 해당 경로 내부의 오브젝트 목록을 보여줍니다. path 옵션보다 prefix/delimiter 쿼리를 추천합니다. |
X-Auth-Token (Optional) | header | string | 발급한 Token 값을 입력합니다 |
X-Newest (Optional) | header | boolean | true인 경우, 모든 복제본에 대해 질의를 하고 가장 최근 복제본의 정보로 응답합니다. 해당 헤더가 생략된 경우, 가장 응답이 빠른 정보로 응답합니다. |
Accept (Optional) | header | string | 호출 결과의 포맷을 지정합니다. (application/json, application/xml, text/xml) |
X-Container-Meta-Temp-URL-Key (Optional) | header | string | temporary URL을 위한 Secret Key 값을 입력합니다. |
X-Container-Meta-Temp-URL-Key-2 (Optional) | header | string | temporary URL을 위한 두 번째 Secret Key 값을 입력합니다. |
X-Storage-Policy (Optional) | header | string | not supported |
응답 파라미터
Name | In | Type | Description |
---|---|---|---|
X-Container-Meta-name | header | string | 해당 컨테이너의 메타데이터 정보입니다. 헤더명의 name 부분이 메타데이터의 키 역할을 합니다. |
Content-Length | header | string | 응답 결과의 길이입니다. (Bytes) |
X-Container-Object-Count | header | integer | 해당 컨테이너(버킷)의 오브젝트 개수입니다. |
X-Container-Bytes-Used | header | integer | 해당 컨테이너(버킷)가 사용하는 전체 용량 크기입니다. (Bytes) |
Accept-Ranges | header | string | |
X-Container-Meta-Temp-URL-Key (Optional) | header | string | temporary URL을 위한 Secret Key 값입니다. |
X-Container-Meta-Temp-URL-Key-2 (Optional) | header | string | temporary URL을 위한 두 번째 Secret Key 값입니다. |
X-Container-Meta-Quota-Count (Optional) | header | string | 해당 컨테이너(버킷)의 용량 제한값입니다. |
X-Container-Meta-Quota-Bytes (Optional) | header | string | 해당 컨테이너(버킷)의 오브젝트 수의 제한값입니다. |
X-Storage-Policy (Optional) | header | string | not supported |
X-Container-Read (Optional) | header | string | 해당 컨테이너의 READ ACL입니다. |
X-Container-Write (Optional) | header | string | 해당 컨테이너의 WRITE ACL입니다. |
X-Container-Sync-Key (Optional) | header | string | not supported |
X-Container-Sync-To (Optional) | header | string | not supported |
X-Versions-Location (Optional) | header | string | not supported |
X-History-Location (Optional) | header | string | noet supported |
X-Timestamp | header | integer | 해당 컨테이너(버킷)가 처음으로 생성된 시각입니다. (UNIX Time) |
X-Trans-Id | header | string | 해당 요청의 트랜젝션 ID입니다. |
X-Openstack-Request-Id | header | string | 해당 요청의 트랜젝션 ID입니다. (X-Trans-Id와 동일합니다.) |
Content-Type | header | string | 응답 결과의 포맷입니다. (text/plain, application/json, application/xml, text/xml) |
Date | header | string | 해당 요청의 응답 시간입니다. (UTC) |
hash | body | string | 해당 오브젝트의 MD5 체크섬 값입니다. |
last_modified | body | string | 해당 오브젝트가 마지막으로 변경된 시각입니다. (UTC) |
content_type | body | string | 해당 오브젝트의 타입입니다. |
bytes | body | integer | 해당 오브젝트의 크기입니다. (bytes) |
name | body | string | 해당 오브젝트의 이름입니다. |
컨테이너(버킷) 생성
구문
PUT /v1/AUTH_{project_id}/{container}
요청 예 (컨테이너 생성)
curl -i -X PUT -H "X-Auth-Token: $token" https://kr.archive.ncloudstorage.com/v1/AUTH_{project_id}/{container}
응답 예
HTTP/1.1 201 Created
Content-Length: 0
Content-Type: text/html; charset=UTF-8
X-Trans-Id: txa8b5404ac864437293727-005b9878d1
X-Openstack-Request-Id: txa8b5404ac864437293727-005b9878d1
Date: Wed, 12 Sep 2018 02:24:17 GMT
요청 예 (컨테이너 생성, 메타데이터 포함)
curl -i -X PUT -H "X-Auth-Token: $token" -H "X-Container-Meta-Book: ncloud-book" -H "X-Container-Meta-Subject: ncloud-test-subject" https://kr.archive.ncloudstorage.com/v1/AUTH_{project_id}/{container}
응답 예
HTTP/1.1 201 Created
Content-Length: 0
Content-Type: text/html; charset=UTF-8
X-Trans-Id: tx8282719a30554e2b8e0c7-005b987946
X-Openstack-Request-Id: tx8282719a30554e2b8e0c7-005b987946
Date: Wed, 12 Sep 2018 02:26:14 GMT
요청 예 (컨테이너 생성, ACL 포함)
curl -i -X PUT -H "X-Auth-Token: $token" -H "X-Container-Read: .r:* https://kr.archive.ncloudstorage.com/v1/AUTH_{project_id}/{container}
응답 예
HTTP/1.1 201 Created
Content-Length: 0
Content-Type: text/html; charset=UTF-8
X-Trans-Id: tx691a8ed48a3f4152ae904-005b98799c
X-Openstack-Request-Id: tx691a8ed48a3f4152ae904-005b98799c
Date: Wed, 12 Sep 2018 02:27:41 GMT
요청이 성공하게 되면 Created (201), Accepted (202) 상태 코드를 응답합니다. Accepted (202)인 경우는 이미 해당 컨테이너(버킷)가 존재 하고, 메타데이터 등을 변경할 때 발생합니다. 컨테이너(버킷)이 존재하지 않는 경우는 Not Found (404) 상태 코드를 응답합니다.
요청 파라미터
Name | In | Type | Description |
---|---|---|---|
project_id (Optional) | path | string | 프로젝트 ID를 입력합니다. |
container (Optional) | path | string | 생성할 컨테이너(버킷) 이름을 입력합니다. 최소 3글자 이상, 최대 30자까지만 입력 가능합니다. slash(/)가 포함되게 되면, {container}/{object}로 인식하므로 주의 |
X-Auth-Token (Optional) | header | string | 발급한 Token 값을 입력합니다. |
X-Container-Read (Optional) | header | string | 해당 컨테이너의 READ ACL입니다. |
X-Container-Write (Optional) | header | string | 해당 컨테이너의 WRITE ACL입니다. |
X-Container-Sync-Key (Optional) | header | string | not supported |
X-Container-Sync-To (Optional) | header | string | not supported |
X-Versions-Location (Optional) | header | string | not supported |
X-History-Location (Optional) | header | string | not supported |
X-Container-Meta-{name} (Optional) | header | string | 해당 컨테이너(버킷)의 메타데이터를 설정합니다. 헤더명의 name 부분이 메타데이터의 키 역할을 합니다. 추가, 업데이트, 삭제가 가능하며, 삭제는 빈 값으로 요청하시면 됩니다. |
X-Container-Meta-Access-Control-Allow-Origin (Optional) | header | string | CORS |
X-Container-Meta-Access-Control-Max-Age (Optional) | header | string | CORS |
X-Container-Meta-Access-Control-Expose-Headers (Optional) | header | string | CORS |
X-Container-Meta-Quota-Bytes (Optional) | header | string | 해당 컨테이너(버킷)의 용량 제한값을 입력합니다. (bytes) 용량 제한을 넘어선 이후에 제한을 합니다. |
X-Container-Meta-Quota-Count (Optional) | header | string | 해당 컨테이너(버킷)의 오브젝트 수의 제한값을 입력합니다. |
X-Container-Meta-Temp-URL-Key (Optional) | header | string | temporary URL을 위한 Secret Key 값을 입력합니다. |
X-Container-Meta-Temp-URL-Key-2 (Optional) | header | string | temporary URL을 위한 두 번째 Secret Key 값을 입력합니다. |
응답 파라미터
Name | In | Type | Description |
---|---|---|---|
Date | header | string | 해당 요청의 응답 시간입니다. (UTC) |
X-Timestamp | header | integer | not supported |
Content-Length | header | string | 응답 결과의 길이입니다. (Bytes) |
Content-Type (Optional) | header | string | 응답 결과의 MIME 타입입니다. |
X-Trans-Id | header | string | 해당 요청의 트랜젝션 ID입니다. |
X-Openstack-Request-Id | header | string | 해당 요청의 트랜젝션 ID입니다. (X-Trans-Id와 동일합니다.) |
컨테이너(버킷) 메타데이터 설정
구문
POST /v1/AUTH_{project_id}/{container}
요청 예 (컨테이너 메타데이터 생성)
curl -i -X POST -H "X-Container-Meta-Book: ncloud-book" -H "X-Container-Meta-Subject: ncloud-test-subject" -H "X-Auth-Token: $token" https://kr.archive.ncloudstorage.com/v1/AUTH_{project_id}/{container}
응답 예
HTTP/1.1 204 No Content
Content-Length: 0
Content-Type: text/html; charset=UTF-8
X-Trans-Id: txefe14b178c56469b8576f-005b987d66
X-Openstack-Request-Id: txefe14b178c56469b8576f-005b987d66
Date: Wed, 12 Sep 2018 02:43:50 GMT
요청 예 (컨테이너 메타데이트 업데이트)
curl -i -X POST -H "X-Container-Meta-Book: ncloud-book2" -H "X-Container-Meta-Subject: ncloud-test-subject2" -H "X-Auth-Token: $token" https://kr.archive.ncloudstorage.com/v1/AUTH_{project_id}/{container}
응답 예
HTTP/1.1 204 No Content
Content-Length: 0
Content-Type: text/html; charset=UTF-8
X-Trans-Id: tx66932a917b854a458544a-005b987d78
X-Openstack-Request-Id: tx66932a917b854a458544a-005b987d78
Date: Wed, 12 Sep 2018 02:44:08 GMT
요청 예 (컨테이너 메타데이트 삭제)
curl -i -X POST -H "X-Remove-Container-Meta-Book: x" -H "X-Remove-Container-Meta-Subject: x" -H "X-Auth-Token: $token" https://kr.archive.ncloudstorage.com/v1/AUTH_{project_id}/{container}
응답 예
HTTP/1.1 204 No Content
Content-Length: 0
Content-Type: text/html; charset=UTF-8
X-Trans-Id: tx590d9493661147e780d99-005b987df5
X-Openstack-Request-Id: tx590d9493661147e780d99-005b987df5
Date: Wed, 12 Sep 2018 02:46:13 GMT
요청이 성공하게 되면 No Content (204) 상태 코드를 응답합니다.
요청 파라미터
Name | In | Type | Description |
---|---|---|---|
project_id (Optional) | path | string | 프로젝트 ID를 입력합니다. |
container (Optional) | path | string | 컨테이너(버킷) 이름을 입력합니다. |
X-Auth-Token (Optional) | header | string | 발급한 Token 값을 입력합니다. |
X-Container-Read (Optional) | header | string | 해당 컨테이너의 READ ACL입니다. |
X-Container-Write (Optional) | header | string | 해당 컨테이너의 WRITE ACL입니다. |
X-Container-Sync-Key (Optional) | header | string | not supported |
X-Container-Sync-To (Optional) | header | string | not supported |
X-Versions-Location (Optional) | header | string | not supported |
X-History-Location (Optional) | header | string | not supported |
X-Remove-Versions-Location (Optional) | header | string | not supported |
X-Remove-History-Location (Optional) | header | string | not supported |
X-Container-Meta-{name} (Optional) | header | string | 해당 컨테이너(버킷)의 메타데이터를 설정합니다. 헤더명의 name 부분이 메타데이터의 키 역할을 합니다. |
X-Remove-Container-{name} (Optional) | header | string | 해당 컨테이너(버킷)의 메타데이터를 삭제합니다. 헤더명의 name 부분이 메타데이터의 키 역할을 합니다. X-Remove-Container-Read 혹은 X-Remove-Container-Meta-{name} |
X-Container-Meta-Access-Control-Allow-Origin (Optional) | header | string | CORS |
X-Container-Meta-Access-Control-Max-Age (Optional) | header | string | CORS |
X-Container-Meta-Access-Control-Expose-Headers (Optional) | header | string | CORS |
X-Container-Meta-Quota-Bytes (Optional) | header | string | 해당 컨테이너(버킷)의 용량 제한값을 입력합니다. (bytes) 용량 제한을 넘어선 이후에 제한을 합니다. |
X-Container-Meta-Quota-Count (Optional) | header | string | 해당 컨테이너(버킷)의 오브젝트 수의 제한값을 입력합니다. |
X-Container-Meta-Temp-URL-Key (Optional) | header | string | temporary URL을 위한 Secret Key 값을 입력합니다. |
X-Container-Meta-Temp-URL-Key-2 (Optional) | header | string | temporary URL을 위한 두 번째 Secret Key 값을 입력합니다. |
응답 파라미터
Name | In | Type | Description |
---|---|---|---|
Date | header | string | 해당 요청의 응답 시간입니다. (UTC) |
X-Timestamp | header | integer | not supported |
Content-Length | header | string | 응답 결과의 길이입니다. (Bytes) |
Content-Type (Optional) | header | string | 응답 결과의 MIME 타입입니다. |
X-Trans-Id | header | string | 해당 요청의 트랜젝션 ID입니다. |
X-Openstack-Request-Id | header | string | 해당 요청의 트랜젝션 ID입니다. (X-Trans-Id와 동일합니다.) |
컨테이너(버킷) 메타데이터 조회
구문
HEAD /v1/AUTH_{project_id}/{container}
요청 예 (컨테이너 메타데이터 조회)
curl -i -X HEAD -H "X-Auth-Token: $token" https://kr.archive.ncloudstorage.com/v1/AUTH_{project_id}/{container}
응답 예
HTTP/1.1 204 No Content
Content-Length: 0
X-Container-Object-Count: 3
X-Timestamp: 1536631895.01856
Accept-Ranges: bytes
Last-Modified: Tue, 11 Sep 2018 02:11:36 GMT
X-Container-Bytes-Used: 630036
Content-Type: text/plain; charset=utf-8
X-Trans-Id: tx51f8478e8e924403851a4-005b988014
X-Openstack-Request-Id: tx51f8478e8e924403851a4-005b988014
Date: Wed, 12 Sep 2018 02:55:16 GMT
요청이 성공하게 되면 No Content (204) 상태 코드를 응답합니다.
요청 파라미터
Name | In | Type | Description |
---|---|---|---|
project_id (Optional) | path | string | 프로젝트 ID를 입력합니다. |
container (Optional) | path | string | 생성할 컨테이너(버킷) 이름을 입력합니다. 최소 3글자 이상, 최대 30자까지만 입력 가능합니다. slash(/)가 포함되게 되면, {container}/{object}로 인식하므로 주의 |
X-Auth-Token (Optional) | header | string | 발급한 Token 값을 입력합니다 |
X-Newest (Optional) | header | boolean | true인 경우, 모든 복제본에 대해 질의를 하고 가장 최근 복제본의 정보로 응답합니다. 해당 헤더가 생략된 경우, 가장 응답이 빠른 정보로 응답합니다. |
응답 파라미터
Name | In | Type | Description |
---|---|---|---|
X-Container-Meta-{name} | header | string | 해당 컨테이너(버킷)의 메타데이터입니다. 헤더명의 name 부분이 메타데이터의 키 역할을 합니다. |
Content-Length | header | string | 응답 결과의 길이입니다. (Bytes) |
X-Container-Object-Count | header | integer | 해당 컨테이너(버킷)의 오브젝트 개수입니다. |
X-Container-Bytes-Used | header | integer | 해당 컨테이너(버킷)가 사용하는 전체 용량 크기입니다. (Bytes) |
X-Container-Read (Optional) | header | string | 해당 컨테이너의 READ ACL입니다. |
X-Container-Write (Optional) | header | string | 해당 컨테이너의 WRITE ACL입니다. |
X-Container-Meta-Quota-Bytes (Optional) | header | string | 해당 컨테이너(버킷)의 용량 제한값입니다. (bytes) |
X-Container-Meta-Quota-Count (Optional) | header | string | 해당 컨테이너(버킷)의 오브젝트 수의 제한값입니다. |
Accept-Ranges | header | string | |
X-Container-Meta-Access-Control-Allow-Origin (Optional) | header | string | CORS |
X-Container-Meta-Access-Control-Max-Age (Optional) | header | string | CORS |
X-Container-Meta-Access-Control-Expose-Headers (Optional) | header | string | CORS |
X-Container-Meta-Temp-URL-Key (Optional) | header | string | temporary URL을 위한 Secret Key 값입니다. |
X-Container-Meta-Temp-URL-Key-2 (Optional) | header | string | temporary URL을 위한 두 번째 Secret Key 값입니다. |
X-Timestamp | header | integer | 해당 컨테이너(버킷)가 처음으로 생성된 시각입니다. (UNIX Time) |
X-Container-Sync-Key (Optional) | header | string | not supported |
X-Container-Sync-To (Optional) | header | string | not supported |
Date | header | string | 해당 요청의 응답 시간입니다. (UTC) |
X-Trans-Id | header | string | 해당 요청의 트랜젝션 ID입니다. |
X-Openstack-Request-Id | header | string | 해당 요청의 트랜젝션 ID입니다. (X-Trans-Id와 동일합니다.) |
Content-Type (Optional) | header | string | 응답 결과의 MIME 타입입니다. |
X-Versions-Location (Optional) | header | string | not supported |
X-History-Location (Optional) | header | string | not supported |
컨테이너(버킷) 삭제
구문
DELETE /v1/AUTH_{project_id}/{container}
요청 예
curl -i -X DELETE -H "X-Auth-Token: $token" https://kr.archive.ncloudstorage.com/v1/AUTH_{project_id}/{container}
응답 예
HTTP/1.1 204 No Content
Content-Length: 0
Content-Type: text/html; charset=UTF-8
X-Trans-Id: tx762d33b115e748a29fb6e-005b98975b
X-Openstack-Request-Id: tx762d33b115e748a29fb6e-005b98975b
Date: Wed, 12 Sep 2018 04:34:35 GMT
요청이 성공하게 되면 No Content (204) 상태 코드를 응답합니다.
요청 파라미터
Name | In | Type | Description |
---|---|---|---|
project_id (Optional) | path | string | 프로젝트 ID를 입력합니다. |
container (Optional) | path | string | 컨테이너(버킷) 이름을 입력합니다. |
X-Auth-Token (Optional) | header | string | 발급한 Token 값을 입력합니다 |
응답 파라미터
Name | In | Type | Description |
---|---|---|---|
Date | header | string | 해당 요청의 응답 시간입니다. (UTC) |
X-Timestamp | header | integer | not supported |
Content-Length | header | string | 응답 결과의 길이입니다. (Bytes) |
Content-Type (Optional) | header | string | 응답 결과의 MIME 타입입니다. |
X-Trans-Id | header | string | 해당 요청의 트랜젝션 ID입니다. |
X-Openstack-Request-Id | header | string | 해당 요청의 트랜젝션 ID입니다. (X-Trans-Id와 동일합니다.) |