本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
使用適用於 Java SDK 的 AWS CLI 和 建立和管理生命週期組態
您可以使用 S3 生命週期,最佳化 Amazon S3 on Outposts 的儲存容量。您可以建立生命週期規則,在物件老化或取代為較新的版本時使這些物件過期。您可以建立、啟用、停用或刪除生命週期規則。
如需 S3 生命週期的詳細資訊,請參閱 建立和管理 Amazon S3 on Outposts 儲存貯體的生命週期組態。
注意
AWS 帳戶 建立儲存貯體的 擁有它,是唯一可以建立、啟用、停用或刪除生命週期規則的 。
若要使用 AWS Command Line Interface (AWS CLI) 和 建立和管理 S3 on Outposts 儲存貯體的生命週期組態 AWS SDK for Java,請參閱下列範例。
PUT 生命週期組態
- AWS CLI
下列 AWS CLI 範例會在 Outposts 儲存貯體上放置生命週期組態政策。此政策指定,所有包含標記字首 (
) 和標籤的物件會在 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
} } ] } -
提交 JSON 檔案作為
put-bucket-lifecycle-configuration
CLI 命令的一部分。若要執行此命令,請以您自己的資訊取代每個
。如需此命令的詳細資訊,請參閱 參考 put-bucket-lifecycle-configurationuser input placeholder
AWS CLI 中的 。 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適用於 Java 的範例會在 Outposts 儲存貯體上放置生命週期組態。此生命週期組態指定,所有包含標記字首 (
) 和標籤的物件會在 10 天後過期。若要使用此範例,請以您自己的資訊取代每個myprefix
。如需詳細資訊,請參閱 Amazon Simple Storage Service 參考 PutBucketLifecycleConfiguration 中的 。 APIuser 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()); }
GET S3 on Outposts 儲存貯體上的生命週期組態
- AWS CLI
-
下列 AWS CLI 範例會在 Outposts 儲存貯體上取得生命週期組態。若要執行此命令,請以您自己的資訊取代每個
。如需此命令的詳細資訊,請參閱 參考 get-bucket-lifecycle-configurationuser input placeholder
AWS CLI 中的 。 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適用於 Java 的範例會取得 Outposts 儲存貯體的生命週期組態。如需詳細資訊,請參閱 Amazon Simple Storage Service 參考 GetBucketLifecycleConfiguration 中的 。 API
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()); }