简介
本文档提供关于清单的 API 概览以及 SDK 示例代码。
API | 操作名 | 操作描述 |
设置清单任务 | 设置存储桶的清单任务 | |
查询清单任务 | 查询存储桶的清单任务 | |
删除清单任务 | 删除存储桶的清单任务 |
设置清单任务
功能说明
注意
COS 支持在每个存储桶中创建最多1000条清单任务。
您必须在目标存储桶中写入存储桶策略,以供 COS 将清单任务的结果文件写入该存储桶中。
调用该请求时,请确保您有足够的权限对存储桶的清单任务进行操作。存储桶所有者默认拥有该权限,若您无该项权限,请先向存储桶所有者申请该项操作的权限。
请求示例
示例1:创建清单任务,并设置服务端加密。
cos.putBucketInventory({Bucket: 'sourcebucket-1250000000', /* 必须 */Region: 'ap-beijing', /* 必须 */Id: 'inventory_test', /* 必须 */InventoryConfiguration: {Id: 'inventory_test',IsEnabled: 'true',Destination: {COSBucketDestination: {Format: 'CSV',AccountId: '100000000001',Bucket: 'qcs::cos:ap-beijing::targetbucket-1250000000',Prefix: 'inventory_test_prefix',Encryption: {SSECOS: ''}}},Schedule: {Frequency: 'Daily'},Filter: {Prefix: 'filter_prefix'},IncludedObjectVersions: 'All',OptionalFields: ['Size','LastModifiedDate','StorageClass','ETag']}}, function(err, data) {console.log(err || data);});
示例2:创建清单任务,不设置服务端加密。
cos.putBucketInventory({Bucket: 'sourcebucket-1250000000', /* 必须 */Region: 'ap-beijing', /* 必须 */Id: 'inventory_test', /* 必须 */InventoryConfiguration: {Id: 'inventory_test',IsEnabled: 'true',Destination: {COSBucketDestination: {Format: 'CSV',AccountId: '100000000001',Bucket: 'qcs::cos:ap-beijing::targetbucket-1250000000',Prefix: 'inventory_test_prefix'}},Schedule: {Frequency: 'Daily'},Filter: {Prefix: 'filter_prefix'},IncludedObjectVersions: 'All',OptionalFields: ['Size','LastModifiedDate','StorageClass','ETag']}}, function(err, data) {console.log(err || data);});
参数说明
参数名称 | 描述 | 类型 | 是否必填 |
Bucket | 设置清单任务的存储桶,格式为 BucketName-APPID,此处填写的存储桶名称必须为此格式 | String | 是 |
Region | 存储桶所在地域,枚举值请参见 地域和访问域名 | String | 是 |
Id | 清单任务的名称。 缺省值:None 合法字符: a-z,A-Z,0-9,-,_,. | String | 是 |
InventoryConfiguration | 包含清单的配置参数 | Object | 是 |
- Id | 清单任务的名称。 缺省值:None 合法字符: a-z,A-Z,0-9,-,_,. | String | 是 |
- IsEnabled | 清单是否启用的标识。如果设置为 true,清单功能将生效;如果设置为 false,将不生成任何清单 | String | 是 |
- IncludedObjectVersions | 是否在清单中包含对象版本 如果设置为 All,清单中将会包含所有对象版本,并在清单中增加 VersionId,IsLatest,DeleteMarker 这几个字段 如果设置为 Current,则清单中不包含对象版本信息 | String | 是 |
- Filter | 筛选待分析对象。清单功能将分析符合 Filter 中设置的前缀的对象 | Object | 否 |
- - Prefix | 需要分析的对象的前缀 | String | 否 |
- OptionalFields | 清单结果中可选包含的分析项目名称,可选字段包括:Size,LastModifiedDate,StorageClass,ETag,IsMultipartUploaded,ReplicationStatus | Array | 否 |
- Schedule | 配置清单任务周期 | Object | 是 |
- - Frequency | 清单任务周期,可选项为按日或者按周,枚举值:Daily、Weekly | String | 是 |
- Destination | 描述存放清单结果的信息 | Object | 是 |
- - COSBucketDestination | 清单结果导出后存放的存储桶信息 | Object | 是 |
- - - Bucket | 清单分析结果的存储桶名 | String | 是 |
- - - AccountId | 存储桶的所有者 ID,例如100000000001 | String | 否 |
- - - Prefix | 清单分析结果的前缀。如果您指定了清单投递的前缀,COS 后端会自动在您指定的前缀后边加上'/'。如您指定了'Prefix'作为前缀,则 COS 后端投递的清单报告路径为'Prefix/inventory_report' | String | 否 |
- - - Format | 清单分析结果的文件形式,可选项为 CSV 格式 | String | 是 |
- - - Encryption | 为清单结果提供服务端加密的选项 | Object | 否 |
- - - - SSECOS | COS 托管密钥的加密方式,无需填充,设置为空字符串 | String | 否 |
回调函数说明
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 inventory 用于查询存储桶中用户的清单任务信息。用户在发起该请求时,需要用户提供清单任务的名称,发起该请求时需获得请求签名,表明该请求已获得许可。有关清单的详细介绍,请参见 清单功能概述。
注意
调用该请求时,请确保您有足够的权限对存储桶的清单任务进行操作。
存储桶所有者默认拥有该权限,若您无该项权限,请先向存储桶所有者申请该项操作的权限。
请求示例
cos.getBucketInventory({Bucket: 'sourcebucket-1250000000', /* 必须 */Region: 'ap-beijing', /* 必须 */Id: 'inventory_test' /* 必须 */}, function(err, data) {console.log(err || data);});
返回示例
{"InventoryConfiguration": {"Id":"inventory_test","IsEnabled":"true","Destination":{"COSBucketDestination": {"Format":"CSV","AccountId":"100000000001","Bucket":"qcs::cos:ap-beijing::targetbucket-1250000000","Prefix":"inventory_test_prefix","Encryption": {"SSECOS":""}}},"Schedule": {"Frequency":"Daily"},"Filter": {"Prefix":"filter_prefix"},"IncludedObjectVersions":"All","OptionalFields": ["Size","LastModifiedDate","StorageClass","ETag"]}"statusCode": 200,"headers": {}}
参数说明
参数名称 | 描述 | 类型 | 是否必填 |
Bucket | 查询清单任务的存储桶,格式为 BucketName-APPID,此处填写的存储桶名称必须为此格式 | String | 是 |
Region | 存储桶所在地域,枚举值请参见 地域和访问域名 | String | 是 |
Id | 清单任务的名称。 缺省值:None 合法字符: a-z,A-Z,0-9,-,_,. | String | 是 |
回调函数说明
function(err, data) { ... }
参数名称 | 描述 | 类型 |
err | Object | |
- statusCode | 请求返回的 HTTP 状态码,例如200、403、404等 | Number |
- headers | 请求返回的头部信息 | Object |
data | 请求成功时返回的对象,如果请求发生错误则为空 | Object |
- statusCode | 请求返回的 HTTP 状态码,例如200、403、404等 | Number |
- headers | 请求返回的头部信息 | Object |
- InventoryConfiguration | 包含清单的配置参数 | Object |
- - Id | 清单任务的名称。 缺省值:None 合法字符: a-z,A-Z,0-9,-,_,. | String |
- - IsEnabled | 清单是否启用的标识。如果设置为 true,清单功能将生效;如果设置为 false,将不生成任何清单 | String |
- - IncludedObjectVersions | 是否在清单中包含对象版本 如果设置为 All,清单中将会包含所有对象版本,并在清单中增加 VersionId,IsLatest,DeleteMarker 这几个字段 如果设置为 Current,则清单中不包含对象版本信息 | String |
- - Filter | 筛选待分析对象。清单功能将分析符合 Filter 中设置的前缀的对象 | Object |
- - - Prefix | 需要分析的对象的前缀 | String |
- - OptionalFields | 清单结果中可选包含的分析项目名称,可选字段包括:Size,LastModifiedDate,StorageClass,ETag,IsMultipartUploaded,ReplicationStatus | Array |
- - Schedule | 配置清单任务周期 | Object |
- - - Frequency | 清单任务周期,可选项为按日或者按周,枚举值:Daily、Weekly | String |
- - Destination | 描述存放清单结果的信息 | Object |
- - - COSBucketDestination | 清单结果导出后存放的存储桶信息 | Object |
- - - - Bucket | 清单分析结果的存储桶名 | String |
- - - - AccountId | 存储桶的所有者 ID,例如100000000001 | String |
- - - - Prefix | 清单分析结果的前缀。如果您指定了清单投递的前缀,COS后端会自动在您指定的前缀后边加上'/'。如您指定了'Prefix'作为前缀,则COS后端投递的清单报告路径为'Prefix/inventory_report' | String |
- - - - Format | 清单分析结果的文件形式,可选项为 CSV 格式 | String |
- - - - Encryption | 为清单结果提供服务端加密的选项 | Object |
- - - - - SSECOS | COS 托管密钥的加密方式,无需填充,设置为空字符串 | String |
删除清单任务
功能说明
注意
调用该请求时,请确保您有足够的权限对存储桶的清单任务进行操作。
存储桶所有者默认拥有该权限,如您无该项权限,请先向存储桶所有者申请该项操作的权限。
请求示例
cos.deleteBucketInventory({Bucket: 'sourcebucket-1250000000', /* 必须 */Region: 'ap-beijing', /* 必须 */Id: 'inventory_test' /* 必须 */}, function(err, data) {console.log(err || data);});
参数说明
参数名称 | 描述 | 类型 | 是否必填 |
Bucket | 被删除清单任务的存储桶,格式为 BucketName-APPID,此处填写的存储桶名称必须为此格式 | String | 是 |
Region | 存储桶所在地域。枚举值请参见 地域和访问域名 | String | 是 |
Id | 清单任务的名称。缺省值:None 合法字符: a-z,A-Z,0-9,-,_,. | String | 是 |
回调函数说明
function(err, data) { ... }
参数名称 | 描述 | 类型 |
err | Object | |
- statusCode | 请求返回的 HTTP 状态码,例如200、403、404等 | Number |
- headers | 请求返回的头部信息 | Object |
data | 请求成功时返回的对象,如果请求发生错误,则为空 | Object |
- statusCode | 请求返回的 HTTP 状态码,例如200、403、404等 | Number |
- headers | 请求返回的头部信息 | Object |