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 API Reference
You can call ObsClient.SetBucketLifecycle to set lifecycle rules.
Setting an Object Transition Policy
// Create an instance of ObsClient.
ObsClient client = new ObsClient("*** Provide your Access Key ***", "*** Provide your Secret Key ***", "https://your-endpoint");
//Set an object transition policy.
try
{
SetBucketLifecycleRequest request = new SetBucketLifecycleRequest();
request.BucketName = "bucketname";
request.Configuration = new LifecycleConfiguration();
LifecycleRule rule1 = new LifecycleRule();
rule1.Id = "rule1";
rule1.Prefix = "prefix";
rule1.Status = RuleStatusEnum.Enabled;
Transition transition = new Transition();
rule1.Transitions.Add(transition);
// Specify that objects whose names contain the prefix will be transited 30 days after creation.
transition.Days = 30;
// Specify the storage class that the object will be transited to.
transition.StorageClass = StorageClassEnum.Warm;
NoncurrentVersionTransition noncurrentVersionTransition = new NoncurrentVersionTransition()
rule1.NoncurrentVersionTransitions.Add(noncurrentVersionTransition);
// Specify that objects whose names contain the prefix will be transited 60 days after changing into noncurrent versions.
noncurrentVersionTransition.NoncurrentDays = 60;
// Specify the storage class that a noncurrent version will be transited to.
noncurrentVersionTransition.StorageClass = StorageClassEnum.Warm;
request.Configuration.Rules.Add(rule1);
SetBucketLifecycleResponse response = client.SetBucketLifecycle(request);
Console.WriteLine("Set bucket lifecycle response: {0}", response.StatusCode);
}
catch (ObsException ex)
{
Console.WriteLine("ErrorCode: {0}", ex.ErrorCode);
Console.WriteLine("ErrorMessage: {0}", ex.ErrorMessage);
}
Setting an Object Expiration Time
Sample code:
// Create an instance of ObsClient.
ObsClient client = new ObsClient("*** Provide your Access Key ***", "*** Provide your Secret Key ***", "https://your-endpoint");
// Set the object expiration time.
try
{
SetBucketLifecycleRequest request = new SetBucketLifecycleRequest();
request.BucketName = "bucketname";
request.Configuration = new LifecycleConfiguration();
LifecycleRule rule1 = new LifecycleRule();
rule1.Id = "rule1";
rule1.Prefix = "prefix";
rule1.Status = RuleStatusEnum.Enabled;
rule1.Expiration = new Expiration();
//Specify that objects whose names contain the prefix will expire 60 days after creation.
rule1.Expiration.Days = 60;
// Specify that objects whose names contain the prefix will expire 60 days after changing into noncurrent versions.
rule1.NoncurrentVersionExpiration = new NoncurrentVersionExpiration();
rule1.NoncurrentVersionExpiration.NoncurrentDays = 60;
request.Configuration.Rules.Add(rule1);
SetBucketLifecycleResponse response = client.SetBucketLifecycle(request);
Console.WriteLine("Set bucket lifecycle response: {0}", response.StatusCode);
}
catch (ObsException ex)
{
Console.WriteLine("ErrorCode: {0}", ex.ErrorCode);
Console.WriteLine("ErrorMessage: {0}", ex.ErrorMessage);
}
Last Article: Lifecycle Management Overview
Next Article: Viewing Lifecycle Rules
Did this article solve your problem?
Thank you for your score!Your feedback would help us improve the website.