AWS CLI 및 Java용 SDK를 사용하여 수명 주기 구성 생성 및 관리 - Amazon Simple Storage Service

AWS CLI 및 Java용 SDK를 사용하여 수명 주기 구성 생성 및 관리

S3 수명 주기를 사용하여 Amazon S3 on Outposts의 스토리지 용량을 최적화할 수 있습니다. 객체가 오래되거나 더 최신 버전으로 교체되면 객체를 만료시키도록 수명 주기 규칙을 만들 수 있습니다. 수명 주기 규칙을 생성, 사용, 사용 중지 또는 삭제할 수 있습니다.

S3 수명 주기에 대한 자세한 내용은 객체 수명 주기 관리 섹션을 참조하세요.

참고

버킷은 버킷을 생성하는 AWS 계정이 소유하며 이 계정은 수명 주기 규칙을 생성, 사용, 사용 중지 또는 삭제할 수 있는 유일한 계정입니다.

AWS Command Line Interface(AWS CLI) 및 AWS SDK for Java를 사용하여 S3 on Outposts 버킷에 대한 수명 주기 구성을 생성 및 관리하려면 다음 예제를 참조하세요.

수명 주기 구성 적용

AWS CLI

다음 AWS CLI 예제에서는 수명 주기 구성 정책을 Outpost 버킷에 적용합니다. 이 정책은 플래그가 지정된 접두사(myprefix)와 10일 후에 만료되는 태그가 포함된 모든 객체를 지정합니다. 이 예제를 사용하려면 각 user input placeholder를 사용자의 정보로 대체합니다.

  1. 수명 주기 구성 정책을 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 } } ] }
  2. put-bucket-lifecycle-configuration CLI 명령의 일부로 JSON 파일을 제출합니다. 이 명령을 사용하려면 각 user input placeholder를 사용자의 정보로 대체합니다. 이 명령에 대한 자세한 내용은 AWS CLI 참조put-bucket-lifecycle-configuration을 참조하세요.

    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 버킷에 적용합니다. 이 수명 주기 구성은 플래그가 지정된 접두사(myprefix)와 10일 후에 만료되는 태그가 포함된 모든 객체를 지정합니다. 이 예제를 사용하려면 각 user input placeholder를 사용자의 정보로 대체합니다. 자세한 내용은 Amazon Simple Storage Service API 참조PutBucketLifecycleConfiguration을 참조하세요.

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 버킷에 가져옵니다. 이 명령을 사용하려면 각 user input placeholder를 사용자의 정보로 대체합니다. 이 명령에 대한 자세한 내용은 Amazon Simple Storage Service API 참조get-bucket-lifecycle-configuration을 참조하세요.

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()); }