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 목록

API 설명
Bucket API 버킷의 생성과 관련 정보 및 정책을 관리
Object:File&Folder API 파일/폴더의 생성과 관련 정보 및 정책을 관리
Mediaconvert API 버킷에 담긴 파일을 원하는 옵션에 따라 변환하고, 이미지 처리 기능 등 제공

사전 작업

Object Storage에서 제공하는 API를 사용하기 위해서는 다음의 사전 작업을 수행해야 합니다.

액세스 키 발급하기

사용자 인증 토큰(API 인증 토큰)을 획득하기 위해서는 먼저 액세스 키를 발급받아야 합니다.

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

  2. 설정 가이드 문서를 참고하여 액세스 키 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: 읽기 및 쓰기 권한 공개