본문으로 건너뛰기

S3

카카오클라우드의 Object StorageS3 API와 호환성을 제공합니다.

API 사용 준비

API를 호출하기 위해 필요한 사전 작업은 API 사용 준비 문서를 참고하시기 바랍니다.

Authentication

임시 자격 증명

현재는 AssumeRoleWithWebIdentity만 지원합니다. Openstack Token을 이용하여 token 사용자의 권한으로 임시 자격 증명을 만들 수 있습니다. 생성된 임시 자격 증명은 사용자 token이 발급된 project의 role을 동일하게 부여받습니다.

Request Syntax
임시 자격 증명 Request Syntax
curl  -X POST \ 'https://objectstorage.kr-central-2.kakaocloud.com/' \
--header 'Accept: */*' \
--header 'Content-Type: application/json' \
--data-raw '{
"Action" : "AssumeRoleWithWebIdentity",
"DurationSeconds" : 1800,
"ProviderId" : "iam.kakaocloud.com",
"WebIdentityToken" : "{x-auth-token}"
}'
메서드요청 URL
POST   https://objectstorage.kr-central-2.kakaocloud.com/
Request Elements
Query유형필수 여부설명
ActionString필수  수행하려는 Action의 종류
- AssumeRoleWithWebIdentity만 지원됨
DurationSecondsInt선택임시 자격 증명이 유효한 지속 기간
ProviderIdString선택WebIdentity를 제공하는 주체
현재는 iam.kakaocloud.com만 제공함
WebIdentityTokenString필수  Openstack에서 발급한 토큰
Response Syntax
임시 자격 증명 Response Syntax
<AssumeRoleWithWebIdentityResponse>
<AssumeRoleWithWebIdentityResult>
<SubjectFromWebIdentityToken>{user_id}</SubjectFromWebIdentityToken>
<Credentials>
<SessionToken>{session_token}</SessionToken>
<SecretAccessKey>{session_secret_key}</SecretAccessKey>
<Expiration>{expiration}</Expiration>
<AccessKeyId>{session_access_key}</AccessKeyId>
</Credentials>
<Provider>iam.kakaocloud.com</Provider>
</AssumeRoleWithWebIdentityResult>
<ResponseMetadata>
<RequestId>{request_id}</RequestId>
</ResponseMetadata>
</AssumeRoleWithWebIdentityResponse>
Response Elements
Response유형설명
user_idString임시자격 증명이 사용할 사용자 ID
session_tokenString임시 자격 증명의 시크릿 토큰
session_secret_keyString임시 자격 증명의 시크릿 액세스 키
session_access_keyString임시 자격 증명의 시크릿 액세스 키 ID
expirationTimestamp임시 자격증명의 만료 시간
Status Code
HTTP Status응답 내용설명
200     OK성공
400BadRequest요청 정보 오류
403Forbidden권한 없음

임시 자격 증명을 이용한 S3 요청

S3의 임시자격 증명을 이용한 요청과 동일합니다.

Credential 발급

현재는 Openstack에서 ec2 credential 발급을 하여 사용합니다.

Request Syntax
credential 발급
openstack ec2 credentials create --project {project-id}
Argument유형필수 여부설명
project_idString필수  발급하고자 하는 프로젝트의 아이디
Response Syntax
Credential 발급 Response Syntax
+------------+-----------------+
| Field | Value |
+------------+-----------------+
| access | {access_key_id} |
| project_id | {project_id} |
| secret | {secret_key} |
| user_id | {user_id} |
+------------+-----------------+
Response Elements
Response유형설명
access_key_idString생성된 액세스 키 아이디 (aws_access_key_id)로 사용
user_idString요청한 사용자 아이디
project_idString크리덴셜이 유효한 project_id
secret_keyString생성된 액세스 키(aws_secret_access_key) 로 사용

응답에서 발급되는 access와 secret은 AWS credential로 사용하게 됩니다.

제공되는 기능 목록

Expected owner 기능은 현재 지원하지 않습니다.

S3 API 리전 별 지원 여부

안내

카카오클라우드 오브젝트 스토리지의 bucket CORS 기능을 사용 하거나 public access 설정된 bucket에 s3 엔드포인트 url로 접근 하려면 project id를 다음과 같이 함께 명기해야 한다.

Object Storage S3 API 엔드포인트 URL 형식
https://objectstorage.kr-central-2.kakaocloud.com/{project-id}:{bucket-name}/{object-path}
FeatureAPI 지원 현황설명
ListBucketsSupported
SecurityTokenServicePartially supportedAssumeRoleWithWebIdentity만 지원
HeadBucketSupported
GetBucketAccelerateConfiguration
GetBucketAclSupported
GetBucketAnalyticsConfiguration
ListBucketAnalyticsConfigurations
GetBucketCors
GetBucketEncryptionSupported
GetBucketIntelligentTieringConfiguration
ListBucketIntelligentTieringConfigurations
GetBucketInventoryConfiguration
ListBucketInventoryConfigurations
GetBucketLifecycleSupported
GetBucketLifecycleConfigurationSupported
GetBucketLocationSupported
GetBucketLoggingSupported
GetBucketMetricsConfiguration
ListBucketMetricsConfigurations
GetBucketNotification
GetBucketNotificationConfiguration
GetBucketOwnershipControls
GetBucketPolicy
GetBucketPolicyStatus
GetBucketReplication
GetBucketRequestPayment
GetBucketTagging
GetBucketVersioning
GetBucketWebsite
ListObjectVersions
ListObjectsV2Supported
GetObjectLockConfiguration
GetPublicAccessBlock
ListMultipartUploadsSupported
ListObjectsSupported
PutBucketAccelerateConfiguration
PutBucketAclPartially supported사용자 ID와 AllUsers uri 기반의 설정만 가능
PutBucketAnalyticsConfiguration
PutBucketCors
PutBucketEncryptionPartially supported버킷이 비어있는 경우에만 설정 가능
PutBucketIntelligentTieringConfiguration
PutBucketInventoryConfiguration
PutBucketLifecyclePartial Supported
PutBucketLifecycleConfigurationPartial Supported
PutBucketLoggingSupported
PutBucketMetricsConfiguration
PutBucketNotification
PutBucketNotificationConfiguration
PutBucketOwnershipControls
PutBucketPolicy
PutBucketReplication
PutBucketRequestPayment
PutBucketTagging
PutBucketVersioning
PutBucketWebsite
PutObjectLockConfiguration
PutPublicAccessBlock
CreateBucketSupported
DeleteBucketAnalyticsConfiguration
DeleteBucketCors
DeleteBucketEncryption
DeleteBucketIntelligentTieringConfiguration
DeleteBucketInventoryConfiguration
DeleteBucketLifecycleSupported
DeleteBucketLifecycleConfigurationSupported
DeleteBucketMetricsConfiguration
DeleteBucketOwnershipControls
DeleteBucketPolicy
DeleteBucketReplication
DeleteBucketTagging
DeleteBucketWebsite
DeletePublicAccessBlock
DeleteBucketSupported
DeleteObjectsSupported
HeadObjectSupported
GetObjectAcl
GetObjectAttributes
GetObjectLegalHold
GetObjectRetention
GetObjectTaggingSupported
GetObjectTorrent
ListPartsSupported
GetObjectSupported
PutObjectAcl
PutObjectLegalHold
PutObjectRetention
PutObjectTaggingSupported
UploadPartCopySupported
UploadPartSupported
CopyObjectSupported
PutObjectSupported
AbortMultipartUploadSupported
DeleteObjectTaggingSupported
DeleteObjectSupported
CompleteMultipartUploadSupported
CreateMultipartUploadSupported
RestoreObject
SelectObjectContent
WriteGetObjectResponse

API 사용 가이드

ListBuckets

프로젝트에 생성된 모든 버킷을 조회합니다.

API 호출 방식
메서드요청 URL
GET  https://objectstorage.kr-central-2.kakaocloud.com/
Request Syntax
Request Header
Key유형필수 여부설명
X-Amz-Security-TokenString필수  AWS 보안 토큰
X-Amz-Content-Sha256String필수  컨텐츠의 SHA256 해시 값
X-Amz-DateString필수  AWS 서비스 요청을 보낸 날짜와 시간
AuthorizationString필수  요청에 서명된 AWS 서명 버전 4 헤더
- Credential: AWS 액세스 키 ID 및 자격 증명 범위 (필수)
- SignedHeaders: 서명된 헤더 이름 목록 (필수)
- Signature: 서명 값 (필수)
Request Body

이 요청은 Body 값을 가지지 않습니다.

Response Syntax

동작에 성공하면, 서비스는 HTTP 200 응답을 받습니다.

ListBuckets Response Syntax
  <?xml version="1.0" encoding="UTF-8"?>
<ListAllMyBucketsResult xmlns="http://s3.amazonaws.com/doc/2006-03-01/">
<Owner>
<DisplayName>String</DisplayName>
<ID>String</ID>
</Owner>
<Buckets>
<Bucket>
<Name>String</Name>
<CreationDate>Timestamp</CreationDate>
</Bucket>
</Buckets>
</ListAllMyBucketsResult>
Response Elements
Response유형설명
DisplayNameString사용자 아이디
IDString사용자 고유 아이디
NameString버킷 이름
CreationDateTimestamp생성 날짜

HeadBucket

버킷의 존재여부나 접근 권한이 있는지 확인하기 위해 HeadBuckets API를 사용할 수 있습니다.

API 호출 방식
메서드요청 URL
Head  https://objectstorage.kr-central-2.kakaocloud.com/{BucketName}
Request Syntax
Request Header
Key유형필수 여부설명
X-Amz-Security-TokenString필수  AWS 보안 토큰
X-Amz-Content-Sha256String필수  컨텐츠의 SHA256 해시 값
X-Amz-DateString필수  AWS 서비스 요청을 보낸 날짜와 시간
AuthorizationString필수  요청에 서명된 AWS 서명 버전 4 헤더
- Credential: AWS 액세스 키 ID 및 자격 증명 범위 (필수)
- SignedHeaders: 서명된 헤더 이름 목록 (필수)
- Signature: 서명 값 (필수)
Request Body

이 요청은 Body 값을 가지지 않습니다.

Response Syntax

동작에 성공하면, 서비스는 HTTP 200 응답을 받습니다.

Response Headers
Key설명
DateResponse 생성 시간
Content-Lengthresponse의 body 크기
ConnectionConnection 재사용 여부
X-Amz-Request-IdRequest 고유 ID
X-Rgw-Bytes-Used생성 날짜
X-Rgw-Object-CountBucket 내 오브젝트 수
X-Rgw-Quota-Bucket-Objects미사용
X-Rgw-Quota-Bucket-Size미사용
X-Rgw-Quota-Max-Buckets미사용
X-Rgw-Quota-User-Objects미사용
X-Rgw-Quota-User-Size미사용
X-Content-Type-OptionsMIME type sniffing을 막기 위한 보안용 header
X-Frame-Optionsclick-jacking을 막기 위한 보안용 header
X-XSS-ProtectionBrowser에서 XSS attack이 detection 되었을 때는 동작 방식을 나타내기 위한 보안용 header
Strict-Transport-Securityhttps 통신만 허용하게 하는 보안용 header

CreateBucket

버킷을 생성합니다.

API 호출 방식
메서드요청 URL
PUT  https://objectstorage.kr-central-2.kakaocloud.com/{BucketName}
Request Syntax
Request Header
Key유형필수 여부설명
X-Amz-Security-TokenString필수  AWS 보안 토큰
X-Amz-Content-Sha256String필수  컨텐츠의 SHA256 해시 값
X-Amz-DateString필수  AWS 서비스 요청을 보낸 날짜와 시간
AuthorizationString필수  요청에 서명된 AWS 서명 버전 4 헤더
- Credential: AWS 액세스 키 ID 및 자격 증명 범위 (필수)
- SignedHeaders: 서명된 헤더 이름 목록 (필수)
- Signature: 서명 값 (필수)
Request Body

이 요청은 Body 값을 가지지 않습니다.

Response Syntax

동작에 성공하면, 서비스는 HTTP 200 응답을 받습니다.

DeleteBucket

버킷을 삭제합니다.

API 호출 방식
메서드요청 URL
DELETE  https://objectstorage.kr-central-2.kakaocloud.com/{BucketName}
Request Syntax
Request Header
Key유형필수 여부설명
X-Amz-Security-TokenString필수  AWS 보안 토큰
X-Amz-Content-Sha256String필수  컨텐츠의 SHA256 해시 값
X-Amz-DateString필수  AWS 서비스 요청을 보낸 날짜와 시간
AuthorizationString필수  요청에 서명된 AWS 서명 버전 4 헤더
- Credential: AWS 액세스 키 ID 및 자격 증명 범위 (필수)
- SignedHeaders: 서명된 헤더 이름 목록 (필수)
- Signature: 서명 값 (필수)
Request Body

이 요청은 Body 값을 가지지 않습니다.

Response Syntax

동작에 성공하면, 서비스는 HTTP 204 응답을 받습니다.

GetBucketAcl

버킷의 접근 가능한 역할 권한 정보를 조회합니다.

API 호출 방식
메서드요청 URL
GET  https://objectstorage.kr-central-2.kakaocloud.com/{BucketName}/?acl
Request Syntax
Request Header
Key유형필수 여부설명
X-Amz-Security-TokenString필수  AWS 보안 토큰
X-Amz-Content-Sha256String필수  컨텐츠의 SHA256 해시 값
X-Amz-DateString필수  AWS 서비스 요청을 보낸 날짜와 시간
AuthorizationString필수  요청에 서명된 AWS 서명 버전 4 헤더
- Credential: AWS 액세스 키 ID 및 자격 증명 범위 (필수)
- SignedHeaders: 서명된 헤더 이름 목록 (필수)
- Signature: 서명 값 (필수)
Request Body

이 요청은 Body 값을 가지지 않습니다.

Response Syntax

동작에 성공하면, 서비스는 HTTP 200 응답을 받습니다.

GetBucketAcl Response Syntax
  <AccessControlPolicy>
<Owner>
<ID>string</ID>
<DisplayName>string</DisplayName>
</Owner>
<AccessControlList>
<Grant>
<Grantee xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="Group">
<ID>string</ID>
<DisplayName>string</DisplayName>
</Grantee>
<Permission>string</Permission>
</Grant>
</AccessControlList>
</AccessControlPolicy>
Response Elements
Response유형설명
DisplayNameString사용자 아이디
IDString사용자 고유 아이디
xsiString- CanonicalUser
- Group : 'AllUsers' 만 가능
PermissionString- FULL_CONTROL
- WRITE
- WRITE_ACP
- READ
- READ_ACP

PutBucketAcl

버킷의 접근 가능한 역할 권한을 설정합니다.

API 호출 방식
메서드요청 URL
PUT  https://objectstorage.kr-central-2.kakaocloud.com/{BucketName}/?acl
Request Syntax
Request Header
Key유형필수 여부설명
Content-TypeString필수  text/html
X-Amz-Security-TokenString필수  AWS 보안 토큰
X-Amz-Content-Sha256String필수  컨텐츠의 SHA256 해시 값
X-Amz-DateString필수  AWS 서비스 요청을 보낸 날짜와 시간
AuthorizationString필수  요청에 서명된 AWS 서명 버전 4 헤더
- Credential: AWS 액세스 키 ID 및 자격 증명 범위 (필수)
- SignedHeaders: 서명된 헤더 이름 목록 (필수)
- Signature: 서명 값 (필수)
Request Body
PutBucketAcl Request Syntax
  <AccessControlPolicy xmlns="http://s3.amazonaws.com/doc/2006-03-01/">
<AccessControlList>
<Grant>
<Grantee>
<DisplayName> String </DisplayName>
<ID> String </ID>
<xsi:type> String </xsi:type>
</Grantee>
<Permission> String </Permission>
</Grant>
</AccessControlList>
<Owner>
<DisplayName> String </DisplayName>
<ID> String </ID>
</Owner>
</AccessControlPolicy>
Request Elements
Request유형필수 여부설명
DisplayNameString선택  사용자 아이디
IDString선택  사용자 고유 아이디
xsiString필수  - CanonicalUser
- Group : 'AllUsers' 만 가능
PermissionString선택  - FULL_CONTROL
- WRITE
- WRITE_ACP
- READ
- READ_ACP
Response Syntax

동작에 성공하면, 서비스는 HTTP 200 응답을 받습니다.

GetBucketEncryption

버킷의 암호화 설정 정보를 조회합니다.

API 호출 방식
메서드요청 URL
GET  https://objectstorage.kr-central-2.kakaocloud.com/{BucketName}/?encryption
Request Syntax
Request Header
Key유형필수 여부설명
Content-TypeString필수  text/html
X-Amz-Security-TokenString필수  AWS 보안 토큰
X-Amz-Content-Sha256String필수  컨텐츠의 SHA256 해시 값
X-Amz-DateString필수  AWS 서비스 요청을 보낸 날짜와 시간
AuthorizationString필수  요청에 서명된 AWS 서명 버전 4 헤더
- Credential: AWS 액세스 키 ID 및 자격 증명 범위 (필수)
- SignedHeaders: 서명된 헤더 이름 목록 (필수)
- Signature: 서명 값 (필수)
Request Body

이 요청은 Body 값을 가지지 않습니다.

Response Syntax

동작에 성공하면, 서비스는 HTTP 200 응답을 받습니다.

GetBucketEncryption Response Syntax
  <?xml version="1.0" encoding="UTF-8"?>
<ServerSideEncryptionConfiguration xmlns="http://s3.amazonaws.com/doc/2006-03-01/">
<Rule>
<ApplyServerSideEncryptionByDefault>
<SSEAlgorithm>String</SSEAlgorithm>
</ApplyServerSideEncryptionByDefault>
</Rule>
</ServerSideEncryptionConfiguration>
Response Elements
Response유형설명
SSEAlgorithmStringAES256

PutBucketEncryption

버킷 암호화를 설정합니다. (버킷에 오브젝트가 비어있는 경우에만 설정이 가능합니다.)

API 호출 방식
메서드요청 URL
PUT  https://objectstorage.kr-central-2.kakaocloud.com/{BucketName}/?encryption
Request Syntax
Request Header
Key유형필수 여부설명
Content-MD5String필수  Request Body 내용을 서버 측 암호화 구성에 대한 MD5 다이제스트를 Base64로 인코딩한 값
Content-TypeString필수  text/html
X-Amz-Security-TokenString필수  AWS 보안 토큰
X-Amz-Content-Sha256String필수  컨텐츠의 SHA256 해시 값
X-Amz-DateString필수  AWS 서비스 요청을 보낸 날짜와 시간
AuthorizationString필수  요청에 서명된 AWS 서명 버전 4 헤더
- Credential: AWS 액세스 키 ID 및 자격 증명 범위 (필수)
- SignedHeaders: 서명된 헤더 이름 목록 (필수)
- Signature: 서명 값 (필수)
Request Body
PutBucketEncryption Request Syntax
  <ServerSideEncryptionConfiguration xmlns="http://s3.amazonaws.com/doc/2006-03-01/">
<Rule>
<ApplyServerSideEncryptionByDefault>
<SSEAlgorithm>String</SSEAlgorithm>
</ApplyServerSideEncryptionByDefault>
</Rule>
</ServerSideEncryptionConfiguration>
Request Elements
Request유형필수 여부설명
SSEAlgorithmString필수  AES256
Response Syntax

동작에 성공하면, 서비스는 HTTP 200 응답을 받습니다.

GetBucketLifecycle

버킷 라이프 사이클 설정 정보를 조회합니다.

API 호출 방식
메서드요청 URL
GET  https://objectstorage.kr-central-2.kakaocloud.com/{BucketName}/?lifecycle
Request Syntax
Request Header
Key유형필수 여부설명
Content-TypeString필수  text/html
X-Amz-Security-TokenString필수  AWS 보안 토큰
X-Amz-Content-Sha256String필수  컨텐츠의 SHA256 해시 값
X-Amz-DateString필수  AWS 서비스 요청을 보낸 날짜와 시간
AuthorizationString필수  요청에 서명된 AWS 서명 버전 4 헤더
- Credential: AWS 액세스 키 ID 및 자격 증명 범위 (필수)
- SignedHeaders: 서명된 헤더 이름 목록 (필수)
- Signature: 서명 값 (필수)
Response Syntax

동작에 성공하면, 서비스는 HTTP 200 응답을 받습니다.

GetBucketLifecycle Response Syntax
  <?xml version="1.0" encoding="UTF-8"?>
<LifecycleConfiguration xmlns="http://s3.amazonaws.com/doc/2006-03-01/">
<Rule>
<Status>string</Status>
<Expiration>
<Days>integer</Days>
</Expiration>
<Filter>
<And>
<Prefix>string</Prefix>
<Tag>
<Key>string</Key>
<Value>string</Value>
</Tag>
</And>
</Filter>
<ID>string</ID>
</Rule>
</LifecycleConfiguration>
Response Elements
Response유형설명
StatusString- Enabled
- Disabled
Daysinteger객체 유지 기간
PrefixString객체 이름 Prefix
KeyString태그 키
ValueString태그 값
IDStringLifeCycle 정책명

PutBucketLifecycle

버킷 라이프 사이클 규칙을 설정합니다.

API 호출 방식
메서드요청 URL
PUT  https://objectstorage.kr-central-2.kakaocloud.com/{BucketName}/?lifecycle
Request Syntax
Request Header
Key유형필수 여부설명
Content-MD5String필수  Request Body 내용을 서버 측 암호화 구성에 대한 MD5 다이제스트를 Base64로 인코딩한 값
Content-TypeString필수  text/html
X-Amz-Security-TokenString필수  AWS 보안 토큰
X-Amz-Content-Sha256String필수  컨텐츠의 SHA256 해시 값
X-Amz-DateString필수  AWS 서비스 요청을 보낸 날짜와 시간
AuthorizationString필수  요청에 서명된 AWS 서명 버전 4 헤더
- Credential: AWS 액세스 키 ID 및 자격 증명 범위 (필수)
- SignedHeaders: 서명된 헤더 이름 목록 (필수)
- Signature: 서명 값 (필수)
Request Body
PutBucketLifecycle Request Syntax
  <?xml version="1.0" encoding="UTF-8"?>
<LifecycleConfiguration xmlns="http://s3.amazonaws.com/doc/2006-03-01/">
<Rule>
<Expiration>
<Days>integer</Days>
</Expiration>
<Filter>
<And>
<Prefix>string</Prefix>
<Tag>
<Key>string</Key>
<Value>string</Value>
</Tag>
</And>
</Filter>
<ID>string</ID>
<Status>string</Status>
</Rule>
</LifecycleConfiguration>
Request Elements
Request유형필수 여부설명
StatusString필수  - Enabled
- Disabled
Daysinteger선택  객체 유지 기간
PrefixString필수  객체 이름 Prefix
KeyString필수  태그 키
ValueString필수  태그 값
IDString선택  LifeCycle 정책명
Response Syntax

동작에 성공하면, 서비스는 HTTP 200 응답을 받습니다.

DeleteBucketLifecycle

버킷의 모든 라이프 사이클 설정을 삭제합니다.

API 호출 방식
메서드요청 URL
DELETE  https://objectstorage.kr-central-2.kakaocloud.com/{BucketName}/?lifecycle
Request Syntax
Request Header
Key유형필수 여부설명
Content-TypeString필수  text/html
X-Amz-Security-TokenString필수  AWS 보안 토큰
X-Amz-Content-Sha256String필수  컨텐츠의 SHA256 해시 값
X-Amz-DateString필수  AWS 서비스 요청을 보낸 날짜와 시간
AuthorizationString필수  요청에 서명된 AWS 서명 버전 4 헤더
- Credential: AWS 액세스 키 ID 및 자격 증명 범위 (필수)
- SignedHeaders: 서명된 헤더 이름 목록 (필수)
- Signature: 서명 값 (필수)
Request Body

이 요청은 Body 값을 가지지 않습니다.

Response Syntax

동작에 성공하면, 서비스는 HTTP 204 응답을 받습니다.

GetBucketLocation

버킷의 리전 정보를 조회합니다.

API 호출 방식
메서드요청 URL
GET  https://objectstorage.kr-central-2.kakaocloud.com/{BucketName}/?location
Request Syntax
Request Header
Key유형필수 여부설명
Content-TypeString필수  text/html
X-Amz-Security-TokenString필수  AWS 보안 토큰
X-Amz-Content-Sha256String필수  컨텐츠의 SHA256 해시 값
X-Amz-DateString필수  AWS 서비스 요청을 보낸 날짜와 시간
AuthorizationString필수  요청에 서명된 AWS 서명 버전 4 헤더
- Credential: AWS 액세스 키 ID 및 자격 증명 범위 (필수)
- SignedHeaders: 서명된 헤더 이름 목록 (필수)
- Signature: 서명 값 (필수)
Request Body

이 요청은 Body 값을 가지지 않습니다.

Response Syntax

동작에 성공하면, 서비스는 HTTP 200 응답을 받습니다.

GetBucketLocation Response Syntax
  <?xml version="1.0" encoding="UTF-8"?>
<LocationConstraint xmlns="http://s3.amazonaws.com/doc/2006-03-01/">String</LocationConstraint>
Response Elements
Response유형설명
RegionString리전 정보

Getobject

버킷에 저장된 객체를 가져옵니다.

API 호출 방식
메서드요청 URL
GET  https://objectstorage.kr-central-2.kakaocloud.com/{ObjectKey}
Request Syntax
Request Header
Key유형필수 여부설명
Content-TypeString필수  text/html
X-Amz-Security-TokenString필수  AWS 보안 토큰
X-Amz-Content-Sha256String필수  컨텐츠의 SHA256 해시 값
X-Amz-DateString필수  AWS 서비스 요청을 보낸 날짜와 시간
AuthorizationString필수  요청에 서명된 AWS 서명 버전 4 헤더
- Credential: AWS 액세스 키 ID 및 자격 증명 범위 (필수)
- SignedHeaders: 서명된 헤더 이름 목록 (필수)
- Signature: 서명 값 (필수)
Request Body

이 요청은 Body 값을 가지지 않습니다.

Response Syntax

동작에 성공하면, 서비스는 HTTP 200 응답을 받습니다. 요청된 객체를 불러옵니다.

ListObjectsV2

버킷의 객체 리스트를 조회합니다.

API 호출 방식
메서드요청 URL
GET  https://objectstorage.kr-central-2.kakaocloud.com/{BucketName}/?list-type=2
Request Syntax
Request Header
Key유형필수 여부설명
Content-TypeString필수  text/html
X-Amz-Security-TokenString필수  AWS 보안 토큰
X-Amz-Content-Sha256String필수  컨텐츠의 SHA256 해시 값
X-Amz-DateString필수  AWS 서비스 요청을 보낸 날짜와 시간
AuthorizationString필수  요청에 서명된 AWS 서명 버전 4 헤더
- Credential: AWS 액세스 키 ID 및 자격 증명 범위 (필수)
- SignedHeaders: 서명된 헤더 이름 목록 (필수)
- Signature: 서명 값 (필수)
Request Body

이 요청은 Body 값을 가지지 않습니다.

Response Syntax

동작에 성공하면, 서비스는 HTTP 200 응답을 받습니다.

ListObjectsV2 Response Syntax
  <ListBucketResult xmlns="http://s3.amazonaws.com/doc/2006-03-01/">
<Tenant>String</Tenant>
<Name>String</Name>
<Prefix>String</Prefix>
<MaxKeys>Integer</MaxKeys>
<IsTruncated>Boolean</IsTruncated>
<Contents>
<Key>String</Key>
<LastModified>Timestamp</LastModified>
<ETag>Stirng</ETag>
<Size>Long</Size>
<StorageClass>String</StorageClass>
</Contents>
<KeyCount>Integer</KeyCount>
</ListBucketResult>
Response Elements
Response유형설명
TenantString프로젝트 ID
NameString버킷 이름
PrefixString접두사
MaxKeysInteger응답에 반환되는 Key의 최대 수를 설정하는 매개변수
IsTruncatedBooleanfalse : Key가 모두 반환됨,
True : 더 많은 Key가 반환 가능함
KeyString객체 키
LastModifiedTimestamp객체 생성 일시
ETagString객체의 해시 값
SizeLong객체 크기
StorageClassString객체를 저장하고 있는 스토리지 클레스
KeyCountInteger요청으로 반환된 키의 개수

HeadObject

객체 Head 정보를 조회합니다.

API 호출 방식
메서드요청 URL
HEAD  https://objectstorage.kr-central-2.kakaocloud.com/{ObjectKey}
Request Syntax
Request Header
Key유형필수 여부설명
Content-TypeString필수  text/html
X-Amz-Security-TokenString필수  AWS 보안 토큰
X-Amz-Content-Sha256String필수  컨텐츠의 SHA256 해시 값
X-Amz-DateString필수  AWS 서비스 요청을 보낸 날짜와 시간
AuthorizationString필수  요청에 서명된 AWS 서명 버전 4 헤더
- Credential: AWS 액세스 키 ID 및 자격 증명 범위 (필수)
- SignedHeaders: 서명된 헤더 이름 목록 (필수)
- Signature: 서명 값 (필수)
Request Body

이 요청은 Body 값을 가지지 않습니다.

Response Syntax

동작에 성공하면, 서비스는 HTTP 200 응답을 받습니다.

Response Header
Key설명
Dateresponse 생성 시간
Content-Typebody에 담긴 content의 형식
Content-LengthObject 크기
Connectionconnection 재활용 여부
Accept-Ranges클라이언트가 원하는 파일의 일부분을 바이트 단위로 요청할 수 있음
Etag웹 서버가 리소스의 내용이나 메타데이터가 변경되었는지를 식별하기 위한 식별자
Last-Modified마지막 수정일
X-Amz-ExpirationLifecycle에 의해 지정된 만료일
X-Amz-Request-IdRequest 고유 ID
X-Rgw-Object-TypeRGW에서 처리하는 Object 타입 : nomal만 사용
X-Content-Type-OptionsMIME type sniffing을 막기 위한 보안용 header
X-Frame-Optionsclick-jacking을 막기 위한 보안용 header
X-XSS-ProtectionBrowser에서 XSS attack이 detection 되었을 때는 동작 방식을 나타내기 위한 보안용 header
Strict-Transport-Securityhttps 통신만 허용하게 하는 보안용 header

PutObject

버킷에 단일 객체를 업로드합니다.

API 호출 방식
메서드요청 URL
PUT  https://objectstorage.kr-central-2.kakaocloud.com/{ObjectKey}
Request Syntax
Request Header
Key유형필수 여부설명
Content-TypeString필수  text/html
X-Amz-Security-TokenString필수  AWS 보안 토큰
X-Amz-Content-Sha256String필수  컨텐츠의 SHA256 해시 값
X-Amz-DateString필수  AWS 서비스 요청을 보낸 날짜와 시간
AuthorizationString필수  요청에 서명된 AWS 서명 버전 4 헤더
- Credential: AWS 액세스 키 ID 및 자격 증명 범위 (필수)
- SignedHeaders: 서명된 헤더 이름 목록 (필수)
- Signature: 서명 값 (필수)
X-Amz-TaggingString필수  객체 태그 값 (선택)
ex) Key1=Value1&Key2=Value2
X-Amz-meta-keyString필수  메타 데이터 값 (선택)
ex) key = 메타데이터 Key 이름 , Value = 메타 데이터 값
Request Body

업로드할 파일의 Binary Data

Response Syntax

동작에 성공하면, 서비스는 HTTP 200 응답을 받습니다.

CopyObject

버킷에 객체를 복사합니다.

API 호출 방식
메서드요청 URL
PUT  https://objectstorage.kr-central-2.kakaocloud.com/{ObjectKey}
Request Syntax
Request Header
Key유형필수 여부설명
Content-TypeString필수  text/html
X-Amz-Security-TokenString필수  AWS 보안 토큰
X-Amz-Content-Sha256String필수  컨텐츠의 SHA256 해시 값
X-Amz-DateString필수  AWS 서비스 요청을 보낸 날짜와 시간
AuthorizationString필수  요청에 서명된 AWS 서명 버전 4 헤더
- Credential: AWS 액세스 키 ID 및 자격 증명 범위 (필수)
- SignedHeaders: 서명된 헤더 이름 목록 (필수)
- Signature: 서명 값 (필수)
x-amz-copy-sourceString필수  복사 대상이 되는 객체키 (필수)
Request Body

이 요청은 Body 값을 가지지 않습니다.

Response Syntax

동작에 성공하면, 서비스는 HTTP 200 응답을 받습니다.

CopyObject Response Syntax
  <CopyObjectResult xmlns="http://s3.amazonaws.com/doc/2006-03-01/">
<ETag>String</ETag>
<LastModified>Timestamp</LastModified>
</CopyObjectResult>
Response Elements
Response유형설명
ETagString객체의 해시 값
LastModifiedTimestamp객체 생성 일시

DeleteObject

단일 객체를 삭제합니다.

API 호출 방식
메서드요청 URL
DELETE  https://objectstorage.kr-central-2.kakaocloud.com/{ObjectKey}
Request Syntax
Request Header
Key유형필수 여부설명
Content-TypeString필수  text/html
X-Amz-Security-TokenString필수  AWS 보안 토큰
X-Amz-Content-Sha256String필수  컨텐츠의 SHA256 해시 값
X-Amz-DateString필수  AWS 서비스 요청을 보낸 날짜와 시간
AuthorizationString필수  요청에 서명된 AWS 서명 버전 4 헤더
- Credential: AWS 액세스 키 ID 및 자격 증명 범위 (필수)
- SignedHeaders: 서명된 헤더 이름 목록 (필수)
- Signature: 서명 값 (필수)
Request Body

요청은 Body 값을 가지지 않습니다.

Response Syntax

동작에 성공하면, 서비스는 HTTP 204 응답을 받습니다. HTTP/1.1 204

DeleteObjects

객체를 벌크 삭제합니다.

API 호출 방식
메서드요청 URL
POST  https://objectstorage.kr-central-2.kakaocloud.com/{BucketName}/?delete
Request Syntax
Request Header
Key유형필수 여부설명
Content-TypeString필수  text/html
X-Amz-Security-TokenString필수  AWS 보안 토큰
X-Amz-Content-Sha256String필수  컨텐츠의 SHA256 해시 값
X-Amz-DateString필수  AWS 서비스 요청을 보낸 날짜와 시간
AuthorizationString필수  요청에 서명된 AWS 서명 버전 4 헤더
- Credential: AWS 액세스 키 ID 및 자격 증명 범위 (필수)
- SignedHeaders: 서명된 헤더 이름 목록 (필수)
- Signature: 서명 값 (필수)
Request Body

삭제 할 객체키를 Body에 입력합니다.

DeleteObjects Requst Syntax
  <Delete xmlns="http://s3.amazonaws.com/doc/2006-03-01/">
<Object>
<Key>String</Key>
</Object>
<Object>
<Key>String</Key>
</Object>
</Delete>
Request Elements
Request유형필수 여부설명
KeyString필수  객체 키
Response Syntax

동작에 성공하면, 서비스는 HTTP 200 응답을 받습니다.

다중 객체 삭제 Response Syntax
  <DeleteResult xmlns="http://s3.amazonaws.com/doc/2006-03-01/">
<Deleted>
<Key>String</Key>
</Deleted>
<Deleted>
<Key>String</Key>
</Deleted>
</DeleteResult>
Response Elements
Response유형필수 여부설명
KeyString필수  객체 키

CreateMultipartUpload

멀티파트 업로드를 시작하고, Upload ID를 응답합니다. Upload ID는 멀티파트 업로드의 모든 파트와 연관시키는데 사용합니다.

API 호출 방식
메서드요청 URL
POST  https://objectstorage.kr-central-2.kakaocloud.com/{ObjectKey}/?uploads
Request Syntax
Request Header
Key유형필수 여부설명
Content-TypeString필수  text/html
X-Amz-Security-TokenString필수  AWS 보안 토큰
X-Amz-Content-Sha256String필수  컨텐츠의 SHA256 해시 값
X-Amz-DateString필수  AWS 서비스 요청을 보낸 날짜와 시간
AuthorizationString필수  요청에 서명된 AWS 서명 버전 4 헤더
- Credential: AWS 액세스 키 ID 및 자격 증명 범위 (필수)
- SignedHeaders: 서명된 헤더 이름 목록 (필수)
- Signature: 서명 값 (필수)
Request Body

요청은 Body 값을 가지지 않습니다.

Response Syntax

동작에 성공하면, 서비스는 HTTP 200 응답을 받습니다.

CreateMultipartUpload Response Syntax
  <InitiateMultipartUploadResult xmlns="http://s3.amazonaws.com/doc/2006-03-01/">
<Tenant>String</Tenant>
<Bucket>String</Bucket>
<Key>multipart2</Key>
<UploadId>2~7HdUyr3lqN3Ze9MwWxCyxqGBVc_2BoU</UploadId>
</InitiateMultipartUploadResult>
Response Elements
Response유형설명
TenantString프로젝트 ID
BucketString버킷 이름
KeyString업로드할 객체키
UploadIdString멀티파트 업로드 ID

UploadPart

멀티파트 업로드에 하나의 파트를 업로드합니다.

API 호출 방식
메서드요청 URL
PUT  https://objectstorage.kr-central-2.kakaocloud.com/{ObjectKey}?partNumber={Number}&uploadId={UploadID}
Request Syntax
Request Header
Key유형필수 여부설명
Content-TypeString필수  text/html
X-Amz-Security-TokenString필수  AWS 보안 토큰
X-Amz-Content-Sha256String필수  컨텐츠의 SHA256 해시 값
X-Amz-DateString필수  AWS 서비스 요청을 보낸 날짜와 시간
AuthorizationString필수  요청에 서명된 AWS 서명 버전 4 헤더
- Credential: AWS 액세스 키 ID 및 자격 증명 범위 (필수)
- SignedHeaders: 서명된 헤더 이름 목록 (필수)
- Signature: 서명 값 (필수)
Request Body

요청은 Body 값을 가지지 않습니다.

Response Syntax

동작에 성공하면, 서비스는 HTTP 200 응답을 받습니다.

ListParts

특정 멀티파트 업로드에 업로드된 파트들을 조회합니다.

API 호출 방식
메서드요청 URL
GET  https://objectstorage.kr-central-2.kakaocloud.com/{ObjectKey}?uploadId={UploadID}
Request Syntax
Request Header
Key유형필수 여부설명
Content-TypeString필수  text/html
X-Amz-Security-TokenString필수  AWS 보안 토큰
X-Amz-Content-Sha256String필수  컨텐츠의 SHA256 해시 값
X-Amz-DateString필수  AWS 서비스 요청을 보낸 날짜와 시간
AuthorizationString필수  요청에 서명된 AWS 서명 버전 4 헤더
- Credential: AWS 액세스 키 ID 및 자격 증명 범위 (필수)
- SignedHeaders: 서명된 헤더 이름 목록 (필수)
- Signature: 서명 값 (필수)
Request Body

요청은 Body 값을 가지지 않습니다.

Response Syntax

동작에 성공하면, 서비스는 HTTP 200 응답을 받습니다.

ListParts Response Syntax
  <ListPartsResult xmlns="http://s3.amazonaws.com/doc/2006-03-01/">
<Tenant>String</Tenant>
<Bucket>String</Bucket>
<Key>String</Key>
<UploadId>String</UploadId>
<StorageClass>String</StorageClass>
<PartNumberMarker>Integer</PartNumberMarker>
<NextPartNumberMarker>Integer</NextPartNumberMarker>
<MaxParts>Integer</MaxParts>
<IsTruncated>Boolean</IsTruncated>
<Owner>
<ID>String</ID>
<DisplayName>String</DisplayName>
</Owner>
<Part>
<LastModified>Timestamp</LastModified>
<PartNumber>Integer</PartNumber>
<ETag>String</ETag>
<Size>Long</Size>
</Part>
<Part>
<LastModified>Timestamp</LastModified>
<PartNumber>Integer</PartNumber>
<ETag>String</ETag>
<Size>Long</Size>
</Part>
<Part>
<LastModified>Timestamp</LastModified>
<PartNumber>Integer</PartNumber>
<ETag>String</ETag>
<Size>Long</Size>
</Part>
</ListPartsResult>
Response Elements
Response유형설명
TenantString프로젝트 ID
BucketString버킷 이름
KeyString업로드할 객체키
UploadIdString멀티파트 업로드 ID
StorageClassString스토리지 클레스
PartNumberMarkerString나열의 시작되는 값, PartNumber가 더 높은 part만 나열됨
NextPartNumberMarkerString목록의 마지막 part를 지정하는 값
MaxPartsString응답에 허용된 최대 part 수
IsTruncatedStringPart 목록이 잘렸는지 여부
IDString프로젝트 ID
DisplayNameString프로젝트 이름
LastModifiedStringPart의 업로드된 시간
PartNumberStringPart 식별 번호, 1 ~ 10000의 양의 정수
ETagString업로드 된 Part의 Entity Tag
SizeString업로드 된 Part의 크기

ListMultipartUploads

버킷에 진행중인 멀티파트 업로드들을 리스팅합니다. 진행중인 멀티파트 업로드는 CreateMultipartUpload 요청으로 시작 되었고 아직 완료 또는 중지 되지 않은 MultipartUpload 입니다.

API 호출 방식
메서드요청 URL
GET  https://objectstorage.kr-central-2.kakaocloud.com/{Buckets}?uploads&max-uploads={number}
Request Syntax
Request Header
Key유형필수 여부설명
Content-TypeString필수  text/html
X-Amz-Security-TokenString필수  AWS 보안 토큰
X-Amz-Content-Sha256String필수  컨텐츠의 SHA256 해시 값
X-Amz-DateString필수  AWS 서비스 요청을 보낸 날짜와 시간
AuthorizationString필수  요청에 서명된 AWS 서명 버전 4 헤더
- Credential: AWS 액세스 키 ID 및 자격 증명 범위 (필수)
- SignedHeaders: 서명된 헤더 이름 목록 (필수)
- Signature: 서명 값 (필수)
Request Body

요청은 Body 값을 가지지 않습니다.

Response Syntax

동작에 성공하면, 서비스는 HTTP 200 응답을 받습니다.

ListMultipartUploads Response Syntax
  <?xml version="1.0" encoding="UTF-8"?>
<ListMultipartUploadsResult xmlns="http://s3.amazonaws.com/doc/2006-03-01/">
<Tenant>String</Tenant>
<Bucket>String</Bucket>
<NextKeyMarker>String</NextKeyMarker>
<NextUploadIdMarker>String</NextUploadIdMarker>
<MaxUploads>Integer</MaxUploads>
<IsTruncated>Boolean</IsTruncated>
<Upload>
<Key>String</Key>
<UploadId>String</UploadId>
<Initiator>
<ID>String</ID>
<DisplayName>String</DisplayName>
</Initiator>
<Owner>
<ID>String</ID>
<DisplayName>String</DisplayName>
</Owner>
<StorageClass>String</StorageClass>
<Initiated>Timestamp</Initiated>
</Upload>
</ListMultipartUploadsResult>
Response Elements
Response유형설명
TenantString프로젝트 ID
BucketString버킷 이름
NextKeyMarkerString다음 요청에서 key-marker 요청 매개변수에 사용해야 하는 값
NextUploadIdMarkerString다음 요청에서 upload-id-marker 요청 매개변수에 사용해야 하는 값
MaxUploadsInteger멀티파트 업로드의 최대 수
IsTruncatedStringPart 목록이 잘렸는지 여부
KeyString업로드할 객체키
UploadIdString멀티파트 업로드 ID
IDString프로젝트 ID
DisplayNameString프로젝트 이름
StorageClassString스토리지 클레스
InitiatedTimestamp멀티파트 업로드 시작 일시

UploadPartCopy

CreateMultipartUpload에 업로드 Part시 Bucket에 있는 오브젝트를 다음 PartNumber에 업로드 할 수있습니다.

API 호출 방식
메서드요청 URL
PUT  https://objectstorage.kr-central-2.kakaocloud.com/{ObjectKey}?partNumber={number}&uploadId={UploadID}
Request Syntax
Request Header
Key유형필수 여부설명
Content-TypeString필수  text/html
X-Amz-Security-TokenString필수  AWS 보안 토큰
X-Amz-Content-Sha256String필수  컨텐츠의 SHA256 해시 값
X-Amz-DateString필수  AWS 서비스 요청을 보낸 날짜와 시간
x-amz-copy-sourceString필수  Upload Part 대상의 객체 키
AuthorizationString필수  요청에 서명된 AWS 서명 버전 4 헤더
- Credential: AWS 액세스 키 ID 및 자격 증명 범위 (필수)
- SignedHeaders: 서명된 헤더 이름 목록 (필수)
- Signature: 서명 값 (필수)
Request Body

요청은 Body 값을 가지지 않습니다.

Response Syntax

동작에 성공하면, 서비스는 HTTP 200 응답을 받습니다.

UploadPartCopy Response Syntax
  <?xml version="1.0" encoding="UTF-8"?>
<CopyPartResult xmlns="http://s3.amazonaws.com/doc/2006-03-01/">
<LastModified>Timestamp</LastModified>
<ETag>String</ETag>
</CopyPartResult>
Response Elements
Response유형설명
LastModifiedTimestamp객체 업로드 일시
ETagString객체의 해시 값

CompleteMultipartUpload

CreateMultipartUpload에 업로드 Part가 완료 되었다면 CompleteMultipartUpload를 통하여 완료 시킬 수 있다. 이전에 업로드된 Part들을 조립하여 멀티파트 업로드를 완료 한다.

API 호출 방식
메서드요청 URL
POST  https://objectstorage.kr-central-2.kakaocloud.com/{ObjectKey}?&uploadId={UploadID}
Request Syntax
Request Header
Key유형필수 여부설명
Content-TypeString필수  text/html
X-Amz-Security-TokenString필수  AWS 보안 토큰
X-Amz-Content-Sha256String필수  컨텐츠의 SHA256 해시 값
X-Amz-DateString필수  AWS 서비스 요청을 보낸 날짜와 시간
AuthorizationString필수  요청에 서명된 AWS 서명 버전 4 헤더
- Credential: AWS 액세스 키 ID 및 자격 증명 범위 (필수)
- SignedHeaders: 서명된 헤더 이름 목록 (필수)
- Signature: 서명 값 (필수)
Request Body
CompleteMultipartUpload Response Syntax
<CompleteMultipartUpload xmlns="http://s3.amazonaws.com/doc/2006-03-01/">
<Part>
<ETag>String</ETag>
<PartNumber>Integer</PartNumber>
</Part>
...
</CompleteMultipartUpload>
Request Elements
Request유형필수 여부설명
ETagString선택객체의 해시 값
PartNumberInteger선택파트 식별 번호 (1 - 10,000 사이의 양의 정수)
Response Syntax

동작에 성공하면, 서비스는 HTTP 200 응답을 받습니다.

CompleteMultipartUpload Response Syntax
  <?xml version="1.0" encoding="UTF-8"?>
<CompleteMultipartUploadResult xmlns="http://s3.amazonaws.com/doc/2006-03-01/">
<Location>String</Location>
<Tenant>String</Tenant>
<Bucket>String</Bucket>
<Key>String</Key>
<ETag>String</ETag>
</CompleteMultipartUploadResult>
Response Elements
Response유형설명
LocationString새로 생성된 객체를 식별하는 URI 값
TenantString프로젝트 ID
BucketString버킷 이름
KeyString객체 키
ETagString객체의 해시 값

AbortMultipartUpload

Multipart Upload를 중단합니다. Multipart Upload가 중단된 후에는 해당 Upload ID를 사용하여 추가 Part를 Upload할 수 없습니다.

API 호출 방식
메서드요청 URL
DELETE  https://objectstorage.kr-central-2.kakaocloud.com/{ObjectKey}?&uploadId={UploadID}
Request Syntax
Request Header
Key유형필수 여부설명
Content-TypeString필수  text/html
X-Amz-Security-TokenString필수  AWS 보안 토큰
X-Amz-Content-Sha256String필수  컨텐츠의 SHA256 해시 값
X-Amz-DateString필수  AWS 서비스 요청을 보낸 날짜와 시간
AuthorizationString필수  요청에 서명된 AWS 서명 버전 4 헤더
- Credential: AWS 액세스 키 ID 및 자격 증명 범위 (필수)
- SignedHeaders: 서명된 헤더 이름 목록 (필수)
- Signature: 서명 값 (필수)
Request Body

요청은 Body 값을 가지지 않습니다.

Response Syntax

동작에 성공하면, 서비스는 HTTP 204 응답을 받습니다.

GetObjectTagging

오브젝트의 태그를 조회합니다.

API 호출 방식
메서드요청 URL
GET  https://objectstorage.kr-central-2.kakaocloud.com/{BucketName}/{ObjectKey}?tagging
Request Syntax
Request Header
Key유형필수 여부설명
Content-TypeString필수  text/html
X-Amz-Security-TokenString필수  AWS 보안 토큰
X-Amz-Content-Sha256String필수  컨텐츠의 SHA256 해시 값
X-Amz-DateString필수  AWS 서비스 요청을 보낸 날짜와 시간
AuthorizationString필수  요청에 서명된 AWS 서명 버전 4 헤더
- Credential: AWS 액세스 키 ID 및 자격 증명 범위 (필수)
- SignedHeaders: 서명된 헤더 이름 목록 (필수)
- Signature: 서명 값 (필수)
Request Body

요청은 Body 값을 가지지 않습니다.

Response Syntax

동작에 성공하면, 서비스는 HTTP 200 응답을 받습니다.

GetObjectTagging Response Syntax
<?xml version="1.0" encoding="UTF-8"?>
<Tagging xmlns="http://s3.amazonaws.com/doc/2006-03-01/">
<TagSet>
<Tag>
<Key>String</Key>
<Value>String</Value>
</Tag>
</TagSet>
</Tagging>
Response Elements
Response유형필수 여부설명
KeyString필수객체 태그 키
ValueString필수객체 태그 키의 값

PutObjectTagging

오브젝트의 태그를 추가합니다. 기존 태그 값을 덮어 쓰게 됩니다.

API 호출 방식
메서드요청 URL
PUT  https://objectstorage.kr-central-2.kakaocloud.com/{BucketName}/{ObjectKey}?tagging
Request Syntax
Request Header
Key유형필수 여부설명
Content-TypeString필수  text/html
X-Amz-Security-TokenString필수  AWS 보안 토큰
X-Amz-Content-Sha256String필수  컨텐츠의 SHA256 해시 값
X-Amz-DateString필수  AWS 서비스 요청을 보낸 날짜와 시간
AuthorizationString필수  요청에 서명된 AWS 서명 버전 4 헤더
- Credential: AWS 액세스 키 ID 및 자격 증명 범위 (필수)
- SignedHeaders: 서명된 헤더 이름 목록 (필수)
- Signature: 서명 값 (필수)
Request Body
PutObjectTagging Response Syntax
  <Tagging xmlns="http://s3.amazonaws.com/doc/2006-03-01/">
<TagSet>
<Tag>
<Key>String</Key>
<Value>String</Value>
</Tag>
</TagSet>
</Tagging>
Request Elements
Request유형필수 여부설명
KeyString필수객체 태그 키
ValueString필수객체 태그 키의 값
Response Syntax

동작에 성공하면, 서비스는 HTTP 200 응답을 받습니다.

DeleteObjectTagging

오브젝트의 태그를 삭제합니다.

API 호출 방식
메서드요청 URL
DELETE  https://objectstorage.kr-central-2.kakaocloud.com/{BucketName}/{ObjectKey}?tagging
Request Syntax
Request Header
Key유형필수 여부설명
Content-TypeString필수  text/html
X-Amz-Security-TokenString필수  AWS 보안 토큰
X-Amz-Content-Sha256String필수  컨텐츠의 SHA256 해시 값
X-Amz-DateString필수  AWS 서비스 요청을 보낸 날짜와 시간
AuthorizationString필수  요청에 서명된 AWS 서명 버전 4 헤더
- Credential: AWS 액세스 키 ID 및 자격 증명 범위 (필수)
- SignedHeaders: 서명된 헤더 이름 목록 (필수)
- Signature: 서명 값 (필수)
Request Body

요청은 Body 값을 가지지 않습니다.

Response Syntax

동작에 성공하면, 서비스는 HTTP 200 응답을 받습니다.