Yes, you can define S3 Lifecycle Policies to automatically transition objects between different storage classes or expire them. Here’s an example of how to define a lifecycle policy using Boto3:
import boto3
s3 = boto3.client('s3')
def create_lifecycle_policy(bucket_name):
lifecycle_policy = {
'Rules': [
{
'ID': 'TransitionRule',
'Status': 'Enabled',
'Filter': {'Prefix': ''},
'Transitions': [
{
'Days': 30,
'StorageClass': 'STANDARD_IA'
},
{
'Days': 365,
'StorageClass': 'GLACIER'
}
],
'Expiration': {
'Days': 3650
}
}
]
}
s3.put_bucket_lifecycle_configuration(
Bucket=bucket_name,
LifecycleConfiguration=lifecycle_policy
)
bucket_name = 'your-bucket-name'
create_lifecycle_policy(bucket_name)
print(f"Lifecycle policy created for bucket {bucket_name}")