API 개요

페이지 이동경로

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 인증 토큰)을 획득하기 위해서는 먼저 액세스 키를 발급받아야 합니다.

  1. 카카오 i 클라우드 콘솔 > 우측 상단 프로필 > 사용자 액세스 키에서 사용자의 자격 증명으로 사용자 액세스 키를 확인합니다.

  2. 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: 읽기 및 쓰기 권한 공개