设置桶生命周期
生命周期管理可以通过设置规则实现自动清理过期的对象,优化存储空间。本文介绍如何设置桶(Bucket)生命周期规则。 PutBucketLifecycleConfiguration操作可以设置桶的生命周期规则,规则可以通过匹配对象key前缀、标签的方法设置当前版本或者历史版本对象的过期时间,对象过期后会被自动删除
def put_bucket_lifecycle_configuration():
try:
resp = s3_client.put_bucket_lifecycle_configuration(
Bucket='examplebucket',
LifecycleConfiguration={
'Rules': [
{
'Expiration': {
'Days': 3650,
},
'Filter': {
'Prefix': 'documents/',
'Tag': {
'Key': 'string',
'Value': 'string'
},
},
'ID': 'TestOnly',
'Status': 'Enabled',
'Transitions': [
{
'Days': 365,
'StorageClass': 'GLACIER',
},
],
'NoncurrentVersionExpiration': {
'NoncurrentDays': 123,
'NewerNoncurrentVersions': 123
},
'AbortIncompleteMultipartUpload': {
'DaysAfterInitiation': 123
}
},
],
},
)
print(resp)
except ClientError as e:
logging.error(e)
参数 | 类型 | 说明 | 是否必要 |
---|---|---|---|
Bucket | string | 执行本操作的桶名称 | 是 |
LifecycleConfiguration | LifecycleConfiguration | 封装了生命周期规则的数组,最多包含1000条规则 | 否 |
关于LifecycleConfiguration一些说明
参数 | 说明 |
---|---|
Prefix | 需要过滤的前缀 |
Tag | 需要过滤的Tag组包含key和value |
Transitions | 存储类型自动转换规则 |
NoncurrentVersionExpiration | 针对历史版本过期 |
AbortIncompleteMultipartUpload | 清理过期未完成分片 |
响应结果
HTTP状态 | 响应码 | 描述 |
---|---|---|
200 | Success | 操作成功 |
400 | MalformedXML | 生命周期规则不合法 |
403 | AccessDenied | 用户没有权限执行操作 |
404 | NoSuchKey | 指定的桶不存在 |