PutObject

Prev Next

Classic/VPC 환경에서 이용 가능합니다.

오브젝트를 업로드하고 메타데이터를 생성합니다.
이미 저장된 오브젝트를 다시 업로드하면 덮어쓰기되고, 기존에 있던 메타데이터를 다시 생성하면 새로 입력한 값으로 업데이트됩니다.

요청

요청 형식을 설명합니다. 요청 형식은 다음과 같습니다.

메서드 URI
PUT /v1/AUTH_{project_id}/{container}/{object}

요청 헤더

헤더에 대한 설명은 다음과 같습니다.

필드 타입 필수 여부 설명
X-Auth-Token String Optional 발급한 토큰 값
X-Object-Meta-{name} String Optional 설정할 메타데이터
  • {name} 부분에 메타데이터의 키 입력
  • 헤더 값에 메타데이터 값 입력
X-Object-Manifest String Conditional 대용량 오브젝트를 업로드할 경우 오브젝트(SLO)의 매니페스트
  • 입력 포맷: {container}/{prefix}
X-Delete-At Integer Optional 오브젝트의 자동 삭제 예정 시각(Unix Timestamp)
  • 데이터를 일시적으로 저장하기 원할 때 사용
  • 입력된 일시에 오브젝트 삭제
X-Delete-After Integer Optional 오브젝트의 자동 삭제 예정 시점(초 단위로 입력)
  • 데이터를 일시적으로 저장하기 원할 때 사용
  • 업로드 시점부터 입력된 시간 후에 오브젝트 삭제
X-Detect-Content-Type Boolean Optional 파일 확장자를 기반으로 오브젝트의 MIME 타입 자동 설정
  • true | false
    • true: MIME 타입 감지 및 자동 결정
    • false: 자동 감지 없이 Content-Type에 입력된 MIME 타입으로 설정
X-Copy-From String Optional 오브젝트 복사
  • 입력 포맷: {container}/{object}
  • Range 헤더와 조합 가능
X-Copy-From-Account String Optional 다른 계정으로 오브젝트 복사
Content-Disposition String Optional 브라우저의 응답 처리 방식
Content-Encoding String Optional 오브젝트의 인코딩 방식
Content-Type String Optional 오브젝트의 MIME 타입
Content-Length Integer Optional 오브젝트의 용량
  • chunked transfer encoding을 사용하는 경우 설정 불필요
Transfer-Encoding String Optional chunked transfer encoding 사용 설정
  • chunked
  • 설정 시 Content-Length 헤더 제외 필요
ETag String Optional ETag 헤더 값
If-None-Match String Optional ETag 조건 헤더
  • 자세한 내용은 RFC2616에서 확인

요청 경로 파라미터

파라미터에 대한 설명은 다음과 같습니다.

필드 타입 필수 여부 설명
project_id String Required 프로젝트 ID
container String Required 대상 오브젝트가 저장될 컨테이너 이름
object String Required 저장할 오브젝트 이름

요청 쿼리 파라미터

파라미터에 대한 설명은 다음과 같습니다.

필드 타입 필수 여부 설명
temp_url_sig String Optioanl 저장할 리소스에 접근할 수 있는 임시 URL의 서명
  • 승인된 요청임을 검증
temp_url_expires Integer Optioanl 저장할 리소스에 접근할 수 있는 임시 URL의 만료 시간(Unix Timestamp)
multipart-manifest String Conditional 대용량 오브젝트의 멀티파트 업로드 선언
  • 값으로 put을 입력하면 멀티파트 업로드로 인식되어 파트를 한 파일로 조합하도록 서버에 지시
  • 요청 바디에 파트 조합에 대한 매니페스트를 작성해야 함

요청 예시

요청 예시는 다음과 같습니다.

curl -L -X PUT 'https://kr.archive.gov-ncloudstorage.com/v1/AUTH_{project_id}/{container}/{object}' \
-H 'X-Auth-Token: {token}' \
-H 'X-Object-Meta-collection: C1' \
-H 'X-Detect-Content-Type: true' \
-T '@{/FILE_PATH/OBJECT}'

응답

응답 형식을 설명합니다.

응답 헤더

헤더에 대한 설명은 다음과 같습니다.

필드 타입 필수 여부 설명
Content-Type String - 응답 결과의 MIME 타입
Content-Length String - 응답 결과의 길이(Byte)
ETag String - ETag 헤더 값
Last-Modified String - 오브젝트의 가장 최근 수정 시간(UTC)
X-Trans-Id String - 해당 요청의 트랜잭션 ID
X-Openstack-Request-Id String - 해당 요청의 트랜잭션 ID
  • X-Trans-Id와 동일
Date String - 해당 요청의 응답 시간(UTC)

응답 상태 코드

응답 상태 코드에 대한 설명은 다음과 같습니다.

HTTP 상태 코드 코드 메시지 설명
201 - Created 요청 성공
408 - Request Timeout 요청 타임아웃

응답 예시

응답 예시는 다음과 같습니다.

HTTP/1.1 201 Created
Last-Modified: Mon, 17 Sep 2018 07:36:47 GMT
Content-Length: 0
Etag: 95444a08aec383972a52eaaac43e6dce
Content-Type: text/html; charset=UTF-8
X-Trans-Id: txe5ad93db05334b1cb44d2-005b9f598e
X-Openstack-Request-Id: txe5ad93db05334b1cb44d2-005b9f598e
Date: Mon, 17 Sep 2018 07:36:46 GMT