有奖捉虫:云通信与企业服务文档专题,速来> HOT

简介

本文档提供关于生命周期的 API 概览以及 SDK 示例代码。
API
操作名
操作描述
设置生命周期
设置存储桶的生命周期管理的配置
查询生命周期
查询存储桶生命周期管理的配置
删除生命周期
删除存储桶生命周期管理的配置

设置生命周期

功能说明

设置指定存储桶的生命周期配置信息(PUT Bucket lifecycle)。

请求示例

示例一:上传30天后,当前版本沉降至低频存储。
cos.putBucketLifecycle({
Bucket: 'examplebucket-1250000000', /* 必须 */
Region: 'COS_REGION', /* 存储桶所在地域,必须字段 */
Rules: [{
"ID": "1",
"Status": "Enabled",
"Filter": {},
"Transition": {
"Days": "30",
"StorageClass": "STANDARD_IA"
}
}],
}, function(err, data) {
console.log(err || data);
});
示例二:指定目录前缀dir/,上传90天后,当前版本沉降至归档存储。
cos.putBucketLifecycle({
Bucket: 'examplebucket-1250000000', /* 必须 */
Region: 'COS_REGION', /* 存储桶所在地域,必须字段 */
Rules: [{
"ID": "2",
"Filter": {
"Prefix": "dir/",
},
"Status": "Enabled",
"Transition": {
"Days": "90",
"StorageClass": "ARCHIVE"
}
}],
}, function(err, data) {
console.log(err || data);
});
示例三:上传180天后,清理过期文件删除标记。
cos.putBucketLifecycle({
Bucket: 'examplebucket-1250000000', /* 必须 */
Region: 'COS_REGION', /* 存储桶所在地域,必须字段 */
Rules: [{
"ID": "3",
"Status": "Enabled",
"Filter": {},
"Expiration": {
"Days": "180"
}
}],
}, function(err, data) {
console.log(err || data);
});
示例四:上传30天后,删除碎片。
cos.putBucketLifecycle({
Bucket: 'examplebucket-1250000000', /* 必须 */
Region: 'COS_REGION', /* 存储桶所在地域,必须字段 */
Rules: [{
"ID": "4",
"Status": "Enabled",
"Filter": {},
"AbortIncompleteMultipartUpload": {
"DaysAfterInitiation": "30"
}
}],
}, function(err, data) {
console.log(err || data);
});
示例五:历史版本生成30天后沉降至归档存储。
cos.putBucketLifecycle({
Bucket: 'examplebucket-1250000000', /* 必须 */
Region: 'COS_REGION', /* 存储桶所在地域,必须字段 */
Rules: [{
"ID": "5",
"Status": "Enabled",
"Filter": {},
"NoncurrentVersionTransition": {
"NoncurrentDays": "30",
"StorageClass": 'ARCHIVE'
}
}],
}, function(err, data) {
console.log(err || data);
});

参数说明

参数名
参数描述
类型
是否必填
Bucket
设置生命周期的存储桶,格式:BucketName-APPID
String
Region
存储桶所在地域,枚举值请参见 地域和访问域名
String
Rules
指定生命周期规则列表
ObjectArray
- ID
规则的唯一标识 ID
String
- Status
规则的开启状态,枚举值:Enabled、Disabled
String
- Filter
指定过滤条件
Object
- - Prefix
规则要匹配上的对象键前缀
String
- Transition
规则转换属性,表示对象存储级别何时转换为 Standard_IA 或 Archive
Object
- - Days
指明规则对应的动作在对象最后的修改日期过后多少天执行,该字段有效值是非负整数,最大支持3650天
Number
- - StorageClass
表示规则对应的动作执行后变更对象的存储级别,枚举值:STANDARD、STANDARD_IA、ARCHIVE,默认值:STANDARD
String
- NoncurrentVersionTransition
指明历史版本对象转换属性
ObjectArray
- - NoncurrentDays
指明历史版本对象在该值确定的生效天数后进行转换
Number
- - StorageClass
表示规则对应的动作执行后变更对象的存储级别,枚举值:STANDARD、STANDARD_IA、ARCHIVE
String
- Expiration
规则过期属性
Object
- - ExpiredObjectDeleteMarker
删除过期对象删除标记,枚举值 true,false,与 Days 不可并存
Boolean
- - Days
指明规则对应的动作在对象最后的修改日期过后多少天进行删除操作,与 ExpiredObjectDeleteMarker 不可并存
Number
- AbortIncompleteMultipartUpload
表示删除碎片
Object
- - DaysAfterInitiation
碎片在该值所确定的生效天数后被删除,按文件上传时间开始算,必须为正整数
Number

回调函数说明

function(err, data) { ... }
参数名
参数描述
类型
err
请求发生错误时返回的对象,包括网络错误和业务错误,如果请求成功则为空,更多详情请参见 错误码 文档
Object
- statusCode
请求返回的 HTTP 状态码,例如200、403、404等
Number
- headers
请求返回的头部信息
Object
data
请求成功时返回的对象,如果请求发生错误,则为空
Object
- statusCode
请求返回的 HTTP 状态码,例如200、403、404等
Number
- headers
请求返回的头部信息
Object

查询生命周期

功能说明

GET Bucket lifecycle 接口可以查询存储桶生命周期管理的配置。

请求示例

cos.getBucketLifecycle({
Bucket: 'examplebucket-1250000000', /* 必须 */
Region: 'COS_REGION', /* 存储桶所在地域,必须字段 */
}, function(err, data) {
console.log(err || data);
});

返回示例

{
"Rules": [{
"ID": "1",
"Filter": "",
"Status": "Enabled",
"Transition": {
"Days": "30",
"StorageClass": "STANDARD_IA"
}
}, {
"ID": "2",
"Filter": {
"Prefix": "dir/"
},
"Status": "Enabled",
"Transition": {
"Days": "90",
"StorageClass": "ARCHIVE"
}
}, {
"ID": "3",
"Filter": "",
"Status": "Enabled",
"Expiration": {
"Days": "180"
}
}, {
"ID": "4",
"Filter": "",
"Status": "Enabled",
"AbortIncompleteMultipartUpload": {
"DaysAfterInitiation": "30"
}
}, {
"ID": "5",
"Filter": "",
"Status": "Enabled",
"NoncurrentVersionTransition:": {
"NoncurrentDays": "30",
"StorageClass": "ARCHIVE"
}
}],
"statusCode": 200,
"headers": {}
}

参数说明

参数名称
描述
类型
是否必填
Bucket
查询生命周期的存储桶,格式:BucketName-APPID
String
Region
存储桶所在地域,枚举值请参见 地域和访问域名
String

回调函数说明

function(err, data) { ... }
参数名
参数描述
类型
err
请求发生错误时返回的对象,包括网络错误和业务错误,如果请求成功则为空,更多详情请参见 错误码 文档
Object
- statusCode
请求返回的 HTTP 状态码,例如200、403、404等
Number
- headers
请求返回的头部信息
Object
data
请求成功时返回的对象,如果请求发生错误,则为空
Object
- statusCode
请求返回的 HTTP 状态码,例如200、403、404等
Number
- headers
请求返回的头部信息
Object
- Rules
指定生命周期规则列表
ObjectArray
- - ID
规则的唯一标识 ID
String
- - Status
规则的开启状态,枚举值:Enabled、Disabled
String
- - Filter
指定过滤条件
Object
- - - Prefix
规则要匹配上的对象键前缀
String
- - Transition
规则转换属性,表示对象存储级别何时转换为 Standard_IA 或 Archive
ObjectArray
- - - Days
指明规则对应的动作在对象最后的修改日期过后多少天执行,该字段有效值是非负整数,最大支持3650天
Number
- - - StorageClass
表示规则对应的动作执行后变更对象的存储类型,枚举值:STANDARD、STANDARD_IA、ARCHIVE
String
- - NoncurrentVersionTransition
指明历史版本对象转换属性
ObjectArray
- - - NoncurrentDays
指明历史版本对象在该值确定的生效天数后进行转换
Number
- - - StorageClass
表示规则对应的动作执行后变更对象的存储级别,枚举值:STANDARD、STANDARD_IA、ARCHIVE
String
- - Expiration
规则过期属性
Object
- - - ExpiredObjectDeleteMarker
删除过期对象删除标记,枚举值 true,false,与 Days 不可并存
Boolean
- - - Days
指明规则对应的动作在对象最后的修改日期过后多少天进行删除操作,与 ExpiredObjectDeleteMarker 不可并存
Number
- - AbortIncompleteMultipartUpload
表示删除碎片
Object
- - - DaysAfterInitiation
碎片在该值所确定的生效天数后被删除,按文件上传时间开始算,必须为正整数
Number

删除生命周期

功能说明

DELETE Bucket lifecycle 接口可以删除存储桶生命周期管理的配置。

请求示例

cos.deleteBucketLifecycle({
Bucket: 'examplebucket-1250000000', /* 必须 */
Region: 'COS_REGION', /* 存储桶所在地域,必须字段 */
}, function(err, data) {
console.log(err || data);
});

参数说明

参数名
参数描述
类型
是否必填
Bucket
被删除生命周期配置的存储桶,格式:BucketName-APPID
String
Region
存储桶所在地域,枚举值请参见 地域和访问域名
String

回调函数说明

function(err, data) { ... }
参数名称
描述
类型
err
请求发生错误时返回的对象,包括网络错误和业务错误,如果请求成功则为空,更多详情请参见 错误码 文档
Object
- statusCode
请求返回的 HTTP 状态码,例如200、403、404等
Number
- headers
请求返回的头部信息
Object
data
请求成功时返回的对象,如果请求发生错误,则为空
Object
- statusCode
请求返回的 HTTP 状态码,例如200、403、404等
Number
- headers
请求返回的头部信息
Object