Setting Lifecycle Rules
If you have any questions during development, post them on the Issues page of GitHub. For details about parameters and usage of each API, see the .
You can call ObsClient.setBucketLifecycle to set lifecycle rules for a bucket.
Setting an Object Transition Policy
Sample code:
// Hard-coded or plaintext AK/SK are risky. For security purposes, encrypt your AK/SK and store them in the configuration file or environment variables. In this example, the AK/SK are stored in environment variables for identity authentication. Before running this example, configure environment variables ACCESS_KEY_ID and SECRET_ACCESS_KEY_ID. // Obtain an AK/SK pair on the management console. For details, see https://support.huaweicloud.com/eu/usermanual-ca/ca_01_0003.html. String ak = System.getenv("ACCESS_KEY_ID"); String sk = System.getenv("SECRET_ACCESS_KEY_ID"); String endPoint = "https://your-endpoint"; // Create an ObsClient instance. ObsClient obsClient = new ObsClient(ak, sk, endPoint); LifecycleConfiguration config = new LifecycleConfiguration(); LifecycleConfiguration.Rule rule = config.new Rule(); rule.setEnabled(true); rule.setId("rule1"); rule.setPrefix("prefix"); LifecycleConfiguration.Transition transition = config.new Transition(); // Specify that objects whose names contain the specified prefix will be transitioned 30 days after creation. transition.setDays(30); // Specify the storage class of the objects after transition. transition.setObjectStorageClass(StorageClassEnum.STANDARD); // Specify when the objects whose names contain the specified prefix will be transitioned. // transition.setDate(new SimpleDateFormat("yyyy-MM-dd").parse("2018-10-31")); rule.getTransitions().add(transition); LifecycleConfiguration.NoncurrentVersionTransition noncurrentVersionTransition = config.new NoncurrentVersionTransition(); // Specify that objects whose names contain the specified prefix will be transitioned 30 days after becoming noncurrent versions. noncurrentVersionTransition.setDays(30); // Specify the storage class of the noncurrent object version after transition. noncurrentVersionTransition.setObjectStorageClass(StorageClassEnum.COLD); rule.getNoncurrentVersionTransitions().add(noncurrentVersionTransition); config.addRule(rule); obsClient.setBucketLifecycle("bucketname", config);
Setting an Object Expiration Time
Sample code:
// Hard-coded or plaintext AK/SK are risky. For security purposes, encrypt your AK/SK and store them in the configuration file or environment variables. In this example, the AK/SK are stored in environment variables for identity authentication. Before running this example, configure environment variables ACCESS_KEY_ID and SECRET_ACCESS_KEY_ID. // Obtain an AK/SK pair on the management console. For details, see https://support.huaweicloud.com/eu/usermanual-ca/ca_01_0003.html. String ak = System.getenv("ACCESS_KEY_ID"); String sk = System.getenv("SECRET_ACCESS_KEY_ID"); String endPoint = "https://your-endpoint"; // Create an ObsClient instance. ObsClient obsClient = new ObsClient(ak, sk, endPoint); LifecycleConfiguration config = new LifecycleConfiguration(); Rule rule = config.new Rule(); rule.setEnabled(true); rule.setId("rule1"); rule.setPrefix("prefix"); Expiration expiration = config.new Expiration(); // Specify that objects whose names contain the specified prefix will expire 60 days after creation. expiration.setDays(60); // Specify the date when the objects whose names contain the specified prefix will expire. // expiration.setDate(new SimpleDateFormat("yyyy-MM-dd").parse("2018-12-31")); rule.setExpiration(expiration); NoncurrentVersionExpiration noncurrentVersionExpiration = config.new NoncurrentVersionExpiration(); // Specify that objects whose names contain the prefix will expire 60 days after changing into noncurrent versions. noncurrentVersionExpiration.setDays(60); rule.setNoncurrentVersionExpiration(noncurrentVersionExpiration); config.addRule(rule); obsClient.setBucketLifecycle("bucketname", config);
Feedback
Was this page helpful?
Provide feedbackThank you very much for your feedback. We will continue working to improve the documentation.