API 개요
Object Storage API는 코드 기반의 프로그래밍 방식으로 자원들을 관리하기 위한 인터페이스입니다.
Object Storage에서 제공하는 API를 활용 시, 많은 양의 버킷 및 객체 제어 또는 반복적이고 자동화된 작업 등 콘솔로 수행하기 어려운 작업을 처리할 수 있습니다. REST API, Openstack Swift Client를 통해 코드 기반으로 카카오 i 클라우드의 Object Storage를 사용할 수 있습니다.
API 공통
- API 요청에 대한 응답은 JSON 형태로 제공합니다.
- API 사용을 위해서는 액세스 키와 사용자 인증 토큰(API 인증 토큰)이 필요합니다.
- API 사용 전 사용자 액세스 키를 먼저 생성 후, 이를 통해 사용자 인증 토큰(API 인증 토큰)을 받아야 합니다.
- Object Storage API 사용법에 대한 예제는 CURL 클라이언트로 작성되어있습니다. Curl에 대한 자세한 설명은 CURL 가이드에서 참조하시길 바랍니다.
코드 예제 Object Storage API 목록
API | 설명 |
---|---|
Bucket API | 버킷의 생성과 관련 정보 및 정책을 관리 |
Object:File&Folder API | 파일/폴더의 생성과 관련 정보 및 정책을 관리 |
Mediaconvert API | 버킷에 담긴 파일을 원하는 옵션에 따라 변환하고, 이미지 처리 기능 등 제공 |
사전 작업
Object Storage에서 제공하는 API를 사용하기 위해서는 다음의 사전 작업을 수행해야 합니다.
액세스 키 발급하기
사용자 인증 토큰(API 인증 토큰)을 획득하기 위해서는 먼저 액세스 키를 발급받아야 합니다.
-
카카오 i 클라우드 콘솔 > 우측 상단 프로필 > 사용자 액세스 키에서 사용자의 자격 증명으로 사용자 액세스 키를 확인합니다.
-
Kakao i Cloud console > 설정 가이드 참고하여 액세스 키 ID와 액세스 보안 키를 발급합니다.
API 인증 토큰 획득하기
액세스 키 생성 후, 액세스 키 ID와 액세스 보안 키를 활용해 사용자 인증 토큰(API 인증 토큰)을 획득할 수 있습니다. 사용자 인증 토큰 획득에 대한 자세한 설명은 API 인증 토큰 발급하기를 참고하시기 바랍니다.
API Model
Object Storage의 API Model은 다음의 5개 요소로 구성됩니다.
Model - Bucket
Data | Type | 설명 |
---|---|---|
account | String | Project ID - 토큰 발급 시 확인 가능 (토큰 발급 과정에서 사용/확인된 프로젝트 ID) - Swift API에서 Account 값으로 사용 |
name | String | 버킷 이름 - Object Storage 내 유일한 값 |
type | String | 버킷 타입 - Hot (기본값): Hot 버킷 - Cold (지원 예정): 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 | 버킷 암호화 여부 - false (기본값): 암호화하지 않음 - true : 암호화 함 |
Model - Simple Bucket
Data | Type | 설명 |
---|---|---|
account | String | Project ID - 토큰 발급 시 확인 가능 (토큰 발급 과정에서 사용/확인된 프로젝트 ID) - Swift API에서 Account 값으로 사용 |
name | String | 버킷 이름 - Object Storage 내 유일한 값 |
type | String | 버킷 타입 - Hot (기본값): Hot 버킷 - Cold (지원 예정): 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 권한 가짐 |
use_encryption | Boolean | 버킷 암호화 여부 - false (기본값): 암호화하지 않음 - true : 암호화 함 |
Model - Simple User
Data | Type | 설명 |
---|---|---|
id | String | 사용자 고유 ID - 예시: a0cd4299ed99458f9679c89a27e1a52d |
name | String | 아이디 - 예시: username@domain.com |
Model - Access Control List
Data | Type | 설명 |
---|---|---|
acl | [Permission] | 버킷에 대한 접근 권한 - 리스트(list)로 작성 가능 - Model - Permission 참고 |
publicAcl | String | 버킷 공개 여부 - Deny (기본값): 공개하지 않음- Read-Only : 읽기 권한 공개 |
Model - Permission
Data | Type | 설명 |
---|---|---|
user | SimpleUser | 버킷에 접근할 수 있는 사용자 - Model - Simple User 참고 |
permission | String | 버킷 접근 권한 - Read-Only : 읽기 권한 공개 - Read-Write : 읽기 및 쓰기 권한 공개 |