AWS SDK Version 3 for .NET
API Reference

AWS services or capabilities described in AWS Documentation may vary by region/location. Click Getting Started with Amazon AWS to see specific differences applicable to the China (Beijing) Region.

Container for the parameters to the PutLifecycleConfiguration operation.

Sets lifecycle configuration for your bucket. If a lifecycle configuration exists, it replaces it.

Inheritance Hierarchy


Namespace: Amazon.S3.Model
Assembly: AWSSDK.S3.dll
Version: 3.x.y.z


public class PutLifecycleConfigurationRequest : AmazonWebServiceRequest

The PutLifecycleConfigurationRequest type exposes the following members



Public Property BucketName System.String

The name of the bucket to have the lifecycle configuration applied.

Public Property Configuration Amazon.S3.Model.LifecycleConfiguration

The lifecycle configuration to be applied.


This example shows how to Get, Put and Delete bucket Lifecycle Configurations.
A Lifecycle Configuration allows an owner to configure when specific objects should be deleted. Objects to be deleted are specified with a prefix.
The configuration being used has rules that delete objects with a specific prefix and objects in a specific subdirectory.

LifecycleConfiguration samples

// Create a client
AmazonS3Client client = new AmazonS3Client();

// Put sample lifecycle configuration (overwrite an existing configuration)
LifecycleConfiguration newConfiguration = new LifecycleConfiguration
    Rules = new List
        // Rule to delete keys with prefix "Test-" after 5 days
        new LifecycleRule
            Prefix = "Test-",
            Expiration = new LifecycleRuleExpiration { Days = 5 }
        // Rule to delete keys in subdirectory "Logs" after 2 days
        new LifecycleRule
            Prefix = "Logs/",
            Expiration = new LifecycleRuleExpiration  { Days = 2 },
            Id = "log-file-removal"
PutLifecycleConfigurationRequest putRequest = new PutLifecycleConfigurationRequest
    BucketName = "SampleBucket",
    Configuration = newConfiguration

// Retrieve current configuration
GetLifecycleConfigurationRequest getRequest = new GetLifecycleConfigurationRequest
    BucketName = "SampleBucket"
LifecycleConfiguration configuration = client.GetLifecycleConfiguration(getRequest).Configuration;

Console.WriteLine("Configuration contains {0} rules", configuration.Rules.Count);
foreach (LifecycleRule rule in configuration.Rules)
    Console.WriteLine(" Prefix = " + rule.Prefix);
    Console.WriteLine(" Expiration (days) = " + rule.Expiration.Days);
    Console.WriteLine(" Id = " + rule.Id);
    Console.WriteLine(" Status = " + rule.Status);

// Put a new configuration and overwrite the existing configuration
configuration.Rules.RemoveAt(0);    // remove first rule

// Delete current configuration
DeleteLifecycleConfigurationRequest deleteRequest = new DeleteLifecycleConfigurationRequest
    BucketName = "SampleBucket"

// Retrieve current configuration and verify that it is null
configuration = client.GetLifecycleConfiguration(getRequest).Configuration;
Debug.Assert(configuration == null);


Version Information

.NET Standard:
Supported in: 1.3

.NET Framework:
Supported in: 4.5, 4.0, 3.5

Portable Class Library:
Supported in: Windows Store Apps
Supported in: Windows Phone 8.1
Supported in: Xamarin Android
Supported in: Xamarin iOS (Unified)
Supported in: Xamarin.Forms

Supported Versions: 4.6 and above
Supported Platforms: Android, iOS, Standalone