PutBucketLogging

Prev Next

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

Ncloud Storage 버킷에 서버 액세스 로깅을 설정하거나 기존 설정을 덮어씁니다.

요청

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

메서드 URI
PUT -

요청 헤더

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

참고

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를 입력하지 않은 경우, 필수 입력

요청 바디

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

필드 타입 필수 여부 설명
BucketLoggingStatus - Required 로깅 설정의 루트 요소
BucketLoggingStatus.LoggingEnabled Object Optional 로깅 활성화 설정
  • 지정 시 로깅 활성화
  • 생략 시 로깅 비활성화
BucketLoggingStatus.LoggingEnabled.TargetBucket String Required 로그가 저장될 대상 버킷
  • 로깅을 설정하는 버킷과 동일한 소유자·리전이어야 함
BucketLoggingStatus.LoggingEnabled.TargetPrefix String Required 로그 객체 키에 사용할 접두사
  • 최대 512바이트
  • 빈 값 허용
BucketLoggingStatus.LoggingEnabled.TargetObjectKeyFormat Object Optional 로그 객체 키 형식
  • SimplePrefix 또는 PartitionedPrefix 중 하나만 지정
BucketLoggingStatus.LoggingEnabled.TargetObjectKeyFormat.SimplePrefix - Optional 접두사만 사용하는 기본 키 형식
  • 빈 요소로 지정
BucketLoggingStatus.LoggingEnabled.TargetObjectKeyFormat.PartitionedPrefix Object Optional 날짜 파티션을 포함하는 키 형식
BucketLoggingStatus.LoggingEnabled.TargetObjectKeyFormat.PartitionedPrefix.PartitionDateSource String Optional 파티션 경로의 날짜 기준
  • EventTime | DeliveryTime
참고
  • LoggingEnabled를 생략하거나 빈 바디를 전송하면 버킷의 로깅 설정이 삭제되어 로깅이 비활성화됩니다.
  • TargetBucket 또는 TargetPrefix 요소가 누락되면 오류를 반환합니다.
  • TargetObjectKeyFormat을 지정하는 경우 SimplePrefix와 PartitionedPrefix 중 하나만 지정해야 합니다.
  • TargetObjectKeyFormat을 지정하지 않으면 SimplePrefix 형식으로 동작하며, 이 경우 GetBucketLogging 조회 응답에는 TargetObjectKeyFormat이 표시되지 않습니다.
  • TargetGrants는 지원하지 않습니다. 요청에 포함해도 저장되지 않으며 조회 응답에도 나타나지 않습니다.

요청 예시

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

PUT /?logging HTTP/1.1
Host: bucket.kr.ncloudstorage.com
Content-MD5: Q2hlY2sgSW50ZWdyaXR5IQ==

<BucketLoggingStatus xmlns="http://s3.amazonaws.com/doc/2006-03-01/">
    <LoggingEnabled>
        <TargetBucket>my-log-bucket</TargetBucket>
        <TargetPrefix>logs/</TargetPrefix>
        <TargetObjectKeyFormat>
            <PartitionedPrefix>
                <PartitionDateSource>EventTime</PartitionDateSource>
            </PartitionedPrefix>
        </TargetObjectKeyFormat>
    </LoggingEnabled>
</BucketLoggingStatus>

응답

응답 형식을 설명합니다.

응답 헤더

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

참고

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

응답 상태 코드

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

참고

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

에러 코드 HTTP 상태 코드 설명
NotImplemented 400 x-amz-expected-bucket-owner 헤더는 지원하지 않음
InvalidRequest 400 요청 바디 무결성 헤더 누락
  • Content-MD5와 x-amz-checksum-*가 모두 없음
InvalidBucketName 400 대상 버킷 이름이 유효하지 않음
  • TargetBucket이 빈 값
  • 대상 버킷 이름이 3자 미만
InvalidArgument 400 요청 값이 유효하지 않음
  • TargetPrefix가 최대 크기(512바이트)를 초과 (메시지: Field exceeds 512 bytes)
  • x-amz-sdk-checksum-algorithm을 지정했으나 체크섬 헤더가 없음
MalformedXML 400 요청 바디 XML이 스키마에 맞지 않음
  • TargetBucket 또는 TargetPrefix 요소가 누락됨
  • TargetObjectKeyFormat에 SimplePrefix와 PartitionedPrefix를 동시에 지정하거나 둘 다 지정하지 않음
  • PartitionDateSource가 EventTime 또는 DeliveryTime이 아님
InvalidTargetBucketForLogging 400 로그를 저장할 대상 버킷이 유효하지 않음
  • 대상 버킷이 존재하지 않음
  • 대상 버킷 이름 형식이 올바르지 않음
  • 로깅을 설정하는 버킷과 대상 버킷의 소유자가 다름
CrossLocationLoggingProhibited 403 로깅을 설정하는 버킷과 대상 버킷이 서로 다른 리전에 있음

응답 예시

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

HTTP/1.1 200 OK