PUT 버킷 수명 주기(사용되지 않음)
설명
중요
이 API의 업데이트된 버전은 PutBucketLifecycleConfiguration을 참조하세요. 이 버전은 사용 중단되었습니다. 기존 수명 주기 구성은 작동합니다. 새 수명 주기 구성의 경우 업데이트된 API를 사용하세요.
버킷에 새로운 수명 주기 구성을 생성하거나 기존 수명 주기 구성을 대체합니다. 수명 주기 구성에 대한 자세한 내용은 Amazon Simple Storage Service 사용 설명서의 객체 수명 주기 관리를 참조하세요.
권한
기본적으로 버킷, 객체 및 관련 하위 리소스(예: 수명 주기 구성 및 웹 사이트 구성)를 비롯한 모든 Amazon S3 리소스는 비공개입니다. 리소스 소유자(리소스를 생성한 AWS 계정)만 해당 리소스에 액세스할 수 있습니다. 리소스 소유자는 선택적으로 액세스 정책을 작성하여 다른 사람에게 액세스 권한을 부여할 수 있습니다. 이 작업을 수행하려면 사용자가 s3:PutLifecycleConfiguration 권한을 얻어야 합니다.
권한을 명시적으로 거부할 수도 있습니다. 명시적 거부는 다른 모든 권한에 우선합니다. 사용자 또는 계정이 버킷에서 객체를 제거하거나 삭제하지 못하도록 하려면 다음 작업에 대한 권한을 거부해야 합니다.
s3:DeleteObjects3:DeleteObjectVersions3:PutLifecycleConfiguration
권한에 대한 자세한 내용은 Amazon Simple Storage Service 사용 설명서의 Amazon S3 리소스에 대한 액세스 권한 관리를 참조하세요.
요청
구문
PUT /?lifecycle HTTP/1.1 Host:bucketname.s3.amazonaws.com Content-Length:lengthDate:dateAuthorization:authorization stringContent-MD5:MD5Lifecycle configuration in the request body
권한 부여 문자열에 대한 자세한 내용은 요청 인증(AWS 서명 버전 4) 섹션을 참조하세요.
요청 파라미터
이 작업 구현에서는 요청 파라미터를 사용하지 않습니다.
요청 헤더
| 이름 | 설명 | 필수 |
|---|---|---|
Content-MD5 |
데이터의 Base64로 인코딩된 128비트 MD5 다이제스트입니다. 이 헤더를 메시지 무결성 검사로 사용하여 요청 본문이 전송 중에 손상되지 않았는지 확인해야 합니다. 자세한 내용은 RFC 1864 유형: 문자열 기본값: None |
예 |
Request Body
요청에서 요청 본문에 수명 주기 구성을 지정합니다. 수명 주기 구성은 XML로 지정됩니다. 다음은 기본 수명 주기 구성의 예입니다. 이 예제는 규칙 하나를 지정합니다. 규칙의 Prefix는 규칙이 적용되는 객체를 식별합니다. 또한 규칙은 두 가지 작업(Transition 및 Expiration)을 지정합니다. 각 작업은 Amazon S3가 해당 작업을 수행해야 하는 타임라인을 지정합니다. Status는 규칙이 활성화 또는 비활성화되었는지 표시합니다.
<LifecycleConfiguration> <Rule> <ID>sample-rule</ID> <Prefix>key-prefix</Prefix> <Status>rule-status</Status> <Transition> <Date>value</Date> <StorageClass>storage class</StorageClass> </Transition> <Expiration> <Days>value</Days> </Expiration> </Rule> </LifecycleConfiguration>
버킷의 상태가 버전 관리 활성화 또는 버전 관리 일시 중지인 경우, 동일 객체에 대해 여러 버전을 가질 수 있습니다. 즉, 1개의 현재 버전과 0개 이상의 비 현재 버전이 존재할 수 있습니다. 다음 수명 주기 구성은 최신이 아닌 객체 버전과 관련된 작업(NoncurrentVersionTransition, NoncurrentVersionExpiration)을 지정합니다.
<LifecycleConfiguration> <Rule> <ID>sample-rule</ID> <Prefix>key-prefix</Prefix> <Status>rule-status</Status> <NoncurrentVersionTransition> <NoncurrentDays>value</NoncurrentDays> <StorageClass>storage class</StorageClass> </NoncurrentVersionTransition> <NoncurrentVersionExpiration> <NoncurrentDays>value</NoncurrentDays> </NoncurrentVersionExpiration> </Rule> </LifecycleConfiguration>
멀티파트 업로드 API를 사용하면 대형 객체를 여러 부분으로 나누어 업로드할 수 있습니다. 멀티파트 업로드에 대한 자세한 내용은 Amazon Simple Storage Service 사용 설명서의 멀티파트 업로드 개요를 참조하세요. 수명 주기 구성을 사용하면, 멀티파트 업로드가 지정된 일수 내에 완료되지 않은 경우 미완료 멀티파트 업로드(규칙에 지정된 키 이름 접두사로 식별됨)를 취소하도록 Amazon S3에 지시할 수 있습니다. Amazon S3는 멀티파트 업로드를 취소할 때 멀티파트 업로드와 관련된 모든 파트를 삭제합니다. 이렇게 하면 Amazon S3에 일부 파트가 저장된 상태로 남아 있는 미완료 멀티파트 업로드가 발생하지 않으므로 이러한 파트에 대한 스토리지 비용을 지불할 필요가 없습니다. 다음은 AbortIncompleteMultipartUpload 작업으로 규칙을 지정하는 수명 주기 구성의 예시입니다. 이 작업은 시작 후 7일이 지나면 미완료 멀티파트 업로드를 취소하도록 Amazon S3에 지시합니다.
<LifecycleConfiguration> <Rule> <ID>sample-rule</ID> <Prefix>SomeKeyPrefix/</Prefix> <Status>rule-status</Status> <AbortIncompleteMultipartUpload> <DaysAfterInitiation>7</DaysAfterInitiation> </AbortIncompleteMultipartUpload> </Rule> </LifecycleConfiguration>
다음 표에서는 수명 주기 구성의 XML 요소에 대해 설명합니다.
| 이름 | 설명 | 필수 |
|---|---|---|
AbortIncompleteMultipartUpload
|
미완료 멀티파트 업로드가 중단 작업의 대상이 되는 시점을 지정하기 위한 컨테이너입니다. 하위: 유형: 컨테이너 상위 항목: |
규칙에 다른 작업이 지정되지 않은 경우, 예 |
Date
|
Amazon S3가 작업을 수행할 날짜입니다. 자세한 내용은 Amazon Simple Storage Service 사용 설명서의 수명 주기 규칙: 지정된 날짜 기반을 참조하세요. 날짜 값은 ISO 8601 형식을 준수해야 합니다. 시간은 항상 자정(UTC)입니다. 유형: 문자열 상위 항목: |
Days 및 ExpiredObjectDeleteMarker가 없는 경우, 예 |
Days
|
객체 생성 후 특정 규칙 작업이 적용되기까지의 일수를 지정합니다. 유형: 상위 항목: |
Date 및 ExpiredObjectDeleteMarker가 없는 경우, 예 |
DaysAfterInitiation
|
멀티파트 업로드를 시작한 후 해당 멀티파트 업로드가 완료되어야 하는 시점까지의 일수를 지정합니다. 지정된 일수까지 완료되지 않으면 중단 작업을 수행할 수 있으며 Amazon S3는 미완료 멀티파트 업로드를 취소합니다. 유형: 양의 정수 상위 항목: |
상위 태그가 지정된 경우, 예 |
Expiration
|
이 작업은 Amazon S3가 객체 수명에서 적절한 만료 작업을 수행해야 하는 기간을 지정합니다. Amazon S3가 수행하는 작업은 버킷에서 버전 관리가 활성화되었는지 여부에 따라 달라집니다.
유형: 컨테이너 하위 항목: Days 또는 Date 상위 항목: Rule |
Rule에 다른 작업이 없는 경우, 예 |
ID
|
규칙의 고유 식별자입니다. 값은 255자보다 길 수 없습니다. 유형: 문자열 상위 항목: Rule |
아니요 |
LifecycleConfiguration |
수명 주기 규칙을 위한 컨테이너입니다. 규칙을 최대 1,000개까지 추가할 수 있습니다. 유형: 컨테이너 하위 항목: Rule 상위 항목: 없음 |
예 |
ExpiredObjectDeleteMarker |
버전이 지정된 버킷(버전 관리가 활성화된 버킷 또는 버전 관리가 일시 중지된 버킷)에서 수명 주기 구성에 이 요소를 추가하여 만료된 객체 삭제 마커를 삭제하도록 Amazon S3에 지시할 수 있습니다. 예제는 Amazon Simple Storage Service 사용 설명서의 예제 8: 만료된 객체 삭제 마커 제거를 참조하세요. 버전이 지정되지 않은 버킷에는 이 요소를 추가하지 마세요. 해당 유형의 버킷은 삭제 마커를 포함할 수 없습니다. 유형: 문자열 유효한 값: true | false(값 상위 항목: |
Date 및 Days가 없는 경우, 예 |
NoncurrentDays |
Amazon S3가 관련 작업을 수행하기 전에 객체가 비 현재 상태인 일수를 지정합니다. 최신이 아닌 일수 계산에 대한 자세한 내용은 Amazon Simple Storage Service 사용 설명서의 Amazon S3이 최신이 아닌 객체 버전이 된 기간을 계산하는 방법을 참조하세요. 유형: 상위 항목: |
예 |
NoncurrentVersionExpiration |
최신이 아닌 객체 버전이 만료되는 시기를 지정합니다. 만료 시 Amazon S3는 최신이 아닌 객체 버전을 영구적으로 삭제합니다. 버전 관리가 활성화(또는 일시 중지)된 버킷에서 이 수명 주기 구성 작업을 설정하여 객체 수명의 특정 기간에 최신이 아닌 객체 버전을 삭제하도록 Amazon S3에 지시합니다. 유형: 컨테이너 하위 항목: NoncurrentDays 상위 항목: Rule |
Rule에 다른 작업이 없는 경우, 예 |
NoncurrentVersionTransition |
최신이 아닌 객체가 버킷에서 버전 관리가 활성화(또는 일시 중지)된 경우, 이 작업을 설정하여 객체 수명의 특정 기간에 최신이 아닌 객체 버전을 전환하도록 Amazon S3에 지시할 수 있습니다. 유형: 컨테이너 하위 항목: NoncurrentDays 및 StorageClass 상위 항목: Rule |
Rule에 다른 작업이 없는 경우, 예 |
Prefix
|
규칙이 적용되는 하나 이상의 객체를 식별하는 객체 키 접두사입니다. 유형: 문자열 상위 항목: Rule |
예 |
Rule
|
수명 주기 규칙을 위한 컨테이너입니다. 수명 주기 구성에는 최대 1,000개의 규칙이 포함될 수 있습니다. 유형: 컨테이너 상위 항목: LifecycleConfiguration |
예 |
Status
|
활성화된 경우 Amazon S3는 예약된 대로 규칙을 실행합니다. 비활성화된 경우 Amazon S3는 규칙을 무시합니다. 유형: 문자열 상위 항목: Rule 유효한 값: Enabled, Disabled |
예 |
StorageClass
|
객체를 전환하려는 Amazon S3 스토리지 클래스를 지정합니다. 유형: 문자열 상위 항목: Transition 및 NoncurrentVersionTransition 유효한 값: STANDARD_IA | ONEZONE_IA | GLACIER |
예 이 요소는 상위 항목 중 하나 또는 둘 다를 지정하는 경우에만 필수입니다. |
Transition
|
이 작업은 Amazon S3가 객체 수명에서 객체를
유형: 컨테이너 하위 항목: Days 또는 Date, StorageClass 상위 항목: Rule |
Rule에 다른 작업이 없는 경우, 예 |
응답
응답 헤더
이 작업의 구현에서는 대부분의 응답에 공통되는 응답 헤더만 사용합니다. 자세한 내용은 공통 응답 헤더를 참조하세요.
응답 요소
이 작업의 구현은 응답 요소를 반환하지 않습니다.
특수 오류
이 작업의 구현은 특수 오류를 반환하지 않습니다. 일반적인 Amazon S3 오류에 대한 자세한 내용 및 오류 코드 목록은 오류 응답을 참조하세요.
예제
예제 1: 버전 관리가 활성화되지 않은 버킷에 수명 주기 구성 추가
다음 수명 주기 구성에서는 작업마다 하나씩 두 개의 규칙을 지정합니다.
-
Transition 작업은 'documents/' 접두사가 있는 객체를 생성 후 30일이 지나면 스토리지 클래스로 전환하도록 Amazon S3에 지시합니다.
-
Expiration 작업은 'logs/' 접두사가 있는 객체를 생성 후 365일이 지나면 삭제하도록 Amazon S3에 지시합니다.
<LifecycleConfiguration> <Rule> <ID>id1</ID> <Prefix>documents/</Prefix> <Status>Enabled</Status> <Transition> <Days>30</Days> <StorageClass>GLACIER</StorageClass> </Transition> </Rule> <Rule> <ID>id2</ID> <Prefix>logs/</Prefix> <Status>Enabled</Status> <Expiration> <Days>365</Days> </Expiration> </Rule> </LifecycleConfiguration>
다음은 위의 수명 주기 구성을 examplebucket 버킷에 추가하는 샘플 PUT /?lifecycle 요청입니다.
PUT /?lifecycle HTTP/1.1 Host: examplebucket.s3.amazonaws.com x-amz-date: Wed, 14 May 2014 02:11:21 GMT Content-MD5: q6yJDlIkcBaGGfb3QLY69A== Authorization:authorization stringContent-Length: 415 <LifecycleConfiguration> <Rule> <ID>id1</ID> <Prefix>documents/</Prefix> <Status>Enabled</Status> <Transition> <Days>30</Days> <StorageClass>GLACIER</StorageClass> </Transition> </Rule> <Rule> <ID>id2</ID> <Prefix>logs/</Prefix> <Status>Enabled</Status> <Expiration> <Days>365</Days> </Expiration> </Rule> </LifecycleConfiguration>
다음은 응답 예입니다.
HTTP/1.1 200 OK x-amz-id-2: r+qR7+nhXtJDDIJ0JJYcd+1j5nM/rUFiiiZ/fNbDOsd3JUE8NWMLNHXmvPfwMpdc x-amz-request-id: 9E26D08072A8EF9E Date: Wed, 14 May 2014 02:11:22 GMT Content-Length: 0 Server: AmazonS3
예제 2: 버전 관리가 활성화된 버킷에 수명 주기 구성 추가
다음 수명 주기 구성은 Amazon S3가 수행할 작업마다 하나씩 두 개의 규칙을 지정합니다. 버킷에서 버전 관리가 활성화 또는 일시 중지된 경우 다음 작업을 지정합니다.
-
NoncurrentVersionExpiration작업은 'logs/' 접두사가 있는 객체가 최신이 아닌 상태가 된 후 100일이 지나면 객체의 비 현재 버전을 만료하도록 Amazon S3에 지시합니다. -
NoncurrentVersionTransition작업은 'documents/' 접두사가 있는 객체가 최신이 아닌 상태가 된 후 30일이 지나면 객체의 비 현재 버전을 스토리지 클래스로 전환하도록 Amazon S3에 지시합니다.
<LifeCycleConfiguration> <Rule> <ID>DeleteAfterBecomingNonCurrent</ID> <Prefix>logs/</Prefix> <Status>Enabled</Status> <NoncurrentVersionExpiration> <NoncurrentDays>100</NoncurrentDays> </NoncurrentVersionExpiration> </Rule> <Rule> <ID>TransitionAfterBecomingNonCurrent</ID> <Prefix>documents/</Prefix> <Status>Enabled</Status> <NoncurrentVersionTransition> <NoncurrentDays>30</NoncurrentDays> <StorageClass>GLACIER</StorageClass> </NoncurrentVersionTransition> </Rule> </LifeCycleConfiguration>
다음은 위의 수명 주기 구성을 examplebucket 버킷에 추가하는 샘플 PUT /?lifecycle 요청입니다.
PUT /?lifecycle HTTP/1.1 Host: examplebucket.s3.amazonaws.com x-amz-date: Wed, 14 May 2014 02:21:48 GMT Content-MD5: 96rxH9mDqVNKkaZDddgnw== Authorization:authorization stringContent-Length: 598 <LifeCycleConfiguration> <Rule> <ID>DeleteAfterBecomingNonCurrent</ID> <Prefix>logs/</Prefix> <Status>Enabled</Status> <NoncurrentVersionExpiration> <NoncurrentDays>1</NoncurrentDays> </NoncurrentVersionExpiration> </Rule> <Rule> <ID>TransitionSoonAfterBecomingNonCurrent</ID> <Prefix>documents/</Prefix> <Status>Enabled</Status> <NoncurrentVersionTransition> <NoncurrentDays>0</NoncurrentDays> <StorageClass>GLACIER</StorageClass> </NoncurrentVersionTransition> </Rule> </LifeCycleConfiguration>
다음은 응답 예입니다.
HTTP/1.1 200 OK x-amz-id-2: aXQ+KbIrmMmoO//3bMdDTw/CnjArwje+J49Hf+j44yRb/VmbIkgIO5A+PT98Cp/6k07hf+LD2mY= x-amz-request-id: 02D7EC4C10381EB1 Date: Wed, 14 May 2014 02:21:50 GMT Content-Length: 0 Server: AmazonS3
추가 예제
객체를 STANDARD_IA 또는 ONEZONE_IA와 같은 스토리지 클래스로 전환하는 추가 예제는 수명 주기 구성 예제를 참조하세요.
관련 리소스
-
기본적으로 리소스 소유자, 이 경우 버킷을 생성한 AWS 계정인 버킷 소유자는 모든 작업을 수행할 수 있습니다. 리소스 소유자는 다른 사용자에게 작업을 수행할 수 있는 권한을 부여할 수도 있습니다. 자세한 내용은 Amazon Simple Storage Service 사용 설명서의 다음 주제를 참조하세요.