AWS CLI 및 Java용 SDK를 사용하여 수명 주기 구성 생성 및 관리
S3 수명 주기를 사용하여 Amazon S3 on Outposts의 스토리지 용량을 최적화할 수 있습니다. 객체가 오래되거나 더 최신 버전으로 교체되면 객체를 만료시키도록 수명 주기 규칙을 만들 수 있습니다. 수명 주기 규칙을 생성, 사용, 사용 중지 또는 삭제할 수 있습니다.
S3 수명 주기에 대한 자세한 내용은 Amazon S3 on Outposts 버킷에 대한 수명 주기 구성 생성 및 관리 섹션을 참조하세요.
참고
버킷은 버킷을 생성하는 AWS 계정이 소유하며 이 계정은 수명 주기 규칙을 생성, 사용, 사용 중지 또는 삭제할 수 있는 유일한 계정입니다.
AWS Command Line Interface(AWS CLI) 및 AWS SDK for Java를 사용하여 S3 on Outposts 버킷에 대한 수명 주기 구성을 생성 및 관리하려면 다음 예제를 참조하세요.
수명 주기 구성 적용
- AWS CLI
다음 AWS CLI 예제에서는 수명 주기 구성 정책을 Outpost 버킷에 적용합니다. 이 정책은 플래그가 지정된 접두사(
)와 10일 후에 만료되는 태그가 포함된 모든 객체를 지정합니다. 이 예제를 사용하려면 각myprefix
를 사용자의 정보로 대체합니다.user input placeholder
-
수명 주기 구성 정책을 JSON 파일로 저장합니다. 이 예시에서 파일의 이름은
lifecycle1.json
으로 지정됩니다.{ "Rules": [ { "ID": "
id-1
", "Filter": { "And": { "Prefix": "myprefix
", "Tags": [ { "Value": "mytagvalue1
", "Key": "mytagkey1
" }, { "Value": "mytagvalue2
", "Key": "mytagkey2
" } ], "ObjectSizeGreaterThan":1000
, "ObjectSizeLessThan":5000
} }, "Status": "Enabled
", "Expiration": { "Days":10
} } ] } -
put-bucket-lifecycle-configuration
CLI 명령의 일부로 JSON 파일을 제출합니다. 이 명령을 사용하려면 각
를 사용자의 정보로 대체합니다. 이 명령에 대한 자세한 내용은 AWS CLI 참조의 put-bucket-lifecycle-configurationuser input placeholder
을 참조하세요. aws s3control put-bucket-lifecycle-configuration --account-id
123456789012
--bucket arn:aws:s3-outposts:region
:123456789012
:outpost/op-01ac5d28a6a232904
/bucket/example-outposts-bucket
--lifecycle-configuration file://lifecycle1.json
-
- SDK for Java
-
다음 SDK for Java 예제에서는 수명 주기 구성을 Outpost 버킷에 적용합니다. 이 수명 주기 구성은 플래그가 지정된 접두사(
)와 10일 후에 만료되는 태그가 포함된 모든 객체를 지정합니다. 이 예제를 사용하려면 각myprefix
를 사용자의 정보로 대체합니다. 자세한 내용은 Amazon Simple Storage Service API 참조의 PutBucketLifecycleConfiguration을 참조하세요.user input placeholder
import com.amazonaws.services.s3control.model.*; public void putBucketLifecycleConfiguration(String bucketArn) { S3Tag tag1 = new S3Tag().withKey(
"mytagkey1"
).withValue("mytagkey1"
); S3Tag tag2 = new S3Tag().withKey("mytagkey2"
).withValue("mytagkey2"
); LifecycleRuleFilter lifecycleRuleFilter = new LifecycleRuleFilter() .withAnd(new LifecycleRuleAndOperator() .withPrefix("myprefix"
) .withTags(tag1, tag2)) .withObjectSizeGreaterThan(1000
) .withObjectSizeLessThan(5000
); LifecycleExpiration lifecycleExpiration = new LifecycleExpiration() .withExpiredObjectDeleteMarker(false
) .withDays(10
); LifecycleRule lifecycleRule = new LifecycleRule() .withStatus("Enabled"
) .withFilter(lifecycleRuleFilter) .withExpiration(lifecycleExpiration) .withID("id-1"
); LifecycleConfiguration lifecycleConfiguration = new LifecycleConfiguration() .withRules(lifecycleRule); PutBucketLifecycleConfigurationRequest reqPutBucketLifecycle = new PutBucketLifecycleConfigurationRequest() .withAccountId(AccountId) .withBucket(bucketArn) .withLifecycleConfiguration(lifecycleConfiguration); PutBucketLifecycleConfigurationResult respPutBucketLifecycle = s3ControlClient.putBucketLifecycleConfiguration(reqPutBucketLifecycle); System.out.printf("PutBucketLifecycleConfiguration Response: %s%n", respPutBucketLifecycle.toString()); }
S3 on Outposts 버킷에 대한 수명 주기 구성 가져오기
- AWS CLI
-
다음 AWS CLI 예제에서는 수명 주기 구성 정책을 Outpost 버킷에 가져옵니다. 이 명령을 사용하려면 각
를 사용자의 정보로 대체합니다. 이 명령에 대한 자세한 내용은 Amazon Simple Storage Service API 참조의 get-bucket-lifecycle-configurationuser input placeholder
을 참조하세요. aws s3control get-bucket-lifecycle-configuration --account-id
123456789012
--bucket arn:aws:s3-outposts:<your-region>
:123456789012
:outpost/op-01ac5d28a6a232904
/bucket/example-outposts-bucket
- SDK for Java
-
다음 SDK for Java 예제에서는 수명 주기 구성을 Outpost 버킷에 가져옵니다. 자세한 내용은 Amazon Simple Storage Service API 참조에서 GetBucketLifecycleConfiguration을 참조하세요.
import com.amazonaws.services.s3control.model.*; public void getBucketLifecycleConfiguration(String bucketArn) { GetBucketLifecycleConfigurationRequest reqGetBucketLifecycle = new GetBucketLifecycleConfigurationRequest() .withAccountId(AccountId) .withBucket(bucketArn); GetBucketLifecycleConfigurationResult respGetBucketLifecycle = s3ControlClient.getBucketLifecycleConfiguration(reqGetBucketLifecycle); System.out.printf("GetBucketLifecycleConfiguration Response: %s%n", respGetBucketLifecycle.toString()); }