API 개요
Object Storage API는 코드 기반의 프로그래밍 방식으로 자원들을 관리하기 위한 인터페이스입니다.
Object Storage에서 제공하는 API를 활용 시, 많은 양의 버킷 및 객체 제어 또는 반복 적이고 자동화된 작업 등 콘솔로 수행하기 어려운 작업을 처리할 수 있습니다. REST API, Openstack Swift Client를 통해 코드 기반으로 카카오클라우드의 Object Storage를 사용할 수 있습니다.
안내
- API 요청에 대한 응답은
JSON
형태로 제공합니다. - API 사용을 위해서는 액세스 키와 사용자 인증 토큰(API 인증 토큰)이 필요합니다.
- API 사용 전 액세스 키를 먼저 생성 후, 이를 통해 사용자 인증 토큰(API 인증 토큰)을 받아야 합니다.
- Object Storage API 사용법에 대한 예제는 CURL 클라이언트로 작성되어 있습니다. Curl에 대한 자세한 설명은 CURL 가이드에서 참조하시길 바랍니다.
API 사용 준비
API를 호출하기 위해 필요한 사전 작업은 API 사용 준비 문서를 참고하시기 바랍니다.
API Model
Object Storage의 API Model은 다음의 5개 요소로 구 성됩니다.
Model - Bucket
- kr-central-1
- kr-central-2
Bucket(kr-central-1)
{
account: String // project ID | Swift API에서 account 값으로 사용
name: String // 버킷 이름 | object storage에서 유일한 값
type: String // 버킷 타입 | hot | cold
bytes: int // 총 사용량 | 단위: Byte
objectCount: int // 해당 버킷에 속한 오브젝트 개수
policyCount: int // 해당 버킷의 라이프사이클이 적용된 정책의 개수
createdAt: String // 생성일로 RFC3339 형식 | 예시)2020-07-01T00:00:00Z
lastModified: String // 수정일로 RFC3339 형식 | 예시)2020-07-01T00:00:00Z
owner: [SimpleUser] // 버킷 생성자 | 생성자는 버킷에 대한 Admin 권한 가짐
acl: [AccessControlList] // 버킷에 대한 접근 권한
use_encryption: boolean // 버킷 암호화 여부
}
SimpleUser(kr-central-1)
{
id: String // 사용자 ID. 예시) a0cd4299ed99458f9679c89a27e1a52d
name: String // 사용자 name. 예시) reuben.b@kakkaoenterprise.com
}
AccessControlList(kr-central-1)
{
acl : [Permission] // 버킷에 대한 접근 권한
publicAcl : String // 버킷 공개 여부 | Deny(기본값): 공개하지 않음, Read-Only: 읽기 권한 공개
}
Permission(kr-central-1)
{
user : SimplelUser // 버킷에 접근할 수 있는 사용자
permission: String // 버킷 접근 권한 | read-only, read-write
}