Documentation Index

Fetch the complete documentation index at: https://api.ncloud-docs.com/llms.txt

Use this file to discover all available pages before exploring further.

PutObjectRetention

Prev Next

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

Ncloud Storage 객체에 보존(Retention) 설정을 적용합니다. 보존이 설정된 객체는 지정한 만료일까지 삭제·변경할 수 없습니다.

요청

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

메서드 URI
PUT /{Key}

요청 헤더

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

참고

Ncloud Storage API에서 공통으로 사용하는 헤더에 대한 정보는 Ncloud Storage 요청 헤더를 참조해 주십시오.

필드 필수 여부 설명
Content-MD5 Conditional 요청 바디의 Base64 인코딩된 128비트 MD5 해시값
  • 요청 바디 무결성 검증에 사용
  • x-amz-checksum-*를 입력하지 않은 경우, 필수 입력
x-amz-checksum-* Conditional 체크섬 해시 값
  • 키의 *에 사용한 알고리즘 입력
    • 지원 알고리즘: crc32 | crc32c | sha1 | sha256 | crc64nvme
  • Content-MD5를 입력하지 않은 경우, 필수 입력
x-amz-bypass-governance-retention Optional GOVERNANCE 모드 보존 우회 여부
  • true 지정 시 기존 GOVERNANCE 보존을 완화·제거
    • 별도 우회 권한 필요

요청 경로 파라미터

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

필드 타입 필수 여부 설명
Key String Required 객체 이름

요청 쿼리 파라미터

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

필드 타입 필수 여부 설명
versionId String Optional 보존을 설정할 객체의 버전 ID
  • 미 입력 시 최신 버전에 설정

요청 바디

요청 바디에 대한 설명은 다음과 같습니다.

필드 타입 필수 여부 설명
Retention Object Required 보존 설정
Retention.Mode String Optional 보존 모드
  • GOVERNANCE | COMPLIANCE
    • GOVERNANCE: 특별 권한으로 우회 가능
    • COMPLIANCE: 누구도 우회 불가
  • RetainUntilDate와 함께 지정
Retention.RetainUntilDate String Optional 보존 만료일
  • ISO 8601 형식
  • 현재보다 미래 시점이어야 함
  • Mode와 함께 지정
참고

ModeRetainUntilDate를 모두 생략하면 객체의 보존 설정이 해제됩니다.

요청 예시

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

PUT /object.csv?retention HTTP/1.1
Host: {Bucket}.kr.ncloudstorage.com
Content-MD5: {MD5 해시값}

<?xml version="1.0" encoding="UTF-8"?>
<Retention>
    <Mode>GOVERNANCE</Mode>
    <RetainUntilDate>2025-12-31T00:00:00.000Z</RetainUntilDate>
</Retention>

응답

응답 형식을 설명합니다.

응답 헤더

Ncloud Storage API에서 공통으로 사용하는 헤더에 대한 정보는 Ncloud Storage 응답 헤더를 참조해 주십시오.

응답 상태 코드

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

참고

Ncloud Storage API에서 공통으로 사용하는 응답 상태 코드에 대한 정보는 Ncloud Storage 응답 상태 코드를 참조해 주십시오.

에러 코드 HTTP 상태 코드 설명
InvalidRequest 400 버킷에 Object Lock 설정이 없음
InvalidArgument 400 보존 만료일(RetainUntilDate)이 미래 시점이 아님
MalformedXML 400 요청 바디 XML이 스키마에 맞지 않음
  • ModeGOVERNANCE/COMPLIANCE가 아님
  • ModeRetainUntilDate 중 하나만 지정
AccessDenied 403 기존 보존 설정을 우회 권한 없이 완화·제거함
NoSuchKey 404 지정한 객체가 존재하지 않음
NoSuchVersion 404 지정한 버전이 존재하지 않음
MethodNotAllowed 405 삭제 마커에 보존을 설정함

응답 예시

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

HTTP/1.1 200 OK