简介
本文档提供关于清单的 API 概览以及 SDK 示例代码。
API | 操作名 | 操作描述 |
设置清单任务 | 设置存储桶的清单任务 | |
查询清单任务 | 查询存储桶的清单任务 | |
删除清单任务 | 删除存储桶的清单任务 |
设置清单任务
功能说明
PUT Bucket inventory 用于在存储桶中创建清单任务。
方法原型
public Guzzle\\Service\\Resource\\Model PutBucketInventory(array $args = array());
请求示例
try {$result = $cosClient->putBucketInventory(array('Bucket' => 'examplebucket-1250000000', //格式:BucketName-APPID'Id' => 'string','Destination' => array('COSBucketDestination'=>array('Format' => 'CSV','AccountId' => '100000000001','Bucket' => 'qcs::cos:ap-chengdu::examplebucket-1250000000','Prefix' => 'string',)),'IsEnabled' => 'True','Schedule' => array('Frequency' => 'Daily',),'Filter' => array('Prefix' => 'string',),'IncludedObjectVersions' => 'Current','OptionalFields' => array('Size','ETag',)));// 请求成功print_r($result);} catch (\\Exception $e) {// 请求失败echo "$e\\n";}
参数说明
参数名称 | 父节点 | 描述 | 类型 | 是否必选 |
Bucket | 无 | 设置清单任务的存储桶,格式为 BucketName-APPID ,详情请参见 命名规范 | String、Array | 是 |
Id | 无 | 清单的名称,与请求参数中的 id 对应 | Array | 是 |
IsEnabled | 无 | 清单是否启用的标识: 如果设置为 true,清单功能将生效 如果设置为 false,将不生成任何清单 | String | 是 |
IncludedObjectVersions | 无 | 是否在清单中包含对象版本: 如果设置为 All,清单中将会包含所有对象版本,并在清单中增加 VersionId,IsLatest,DeleteMarker 这几个字段 如果设置为 Current,则清单中不包含对象版本信息 | String | 是 |
Filter | 无 | 筛选待分析对象。清单功能将分析符合 Filter 中设置的前缀的对象 | Array | 否 |
Prefix | Filter | 需要分析的对象的前缀 | String | 否 |
OptionalFields | 无 | 清单结果中可选包含的分析项目名称,可选字段包括:Size,LastModifiedDate,StorageClass,ETag,IsMultipartUploaded,ReplicationStatus | Array | 否 |
Schedule | 无 | 配置清单任务周期 | Array | 是 |
Frequency | Schedule | 清单任务周期,可选项为按日或者按周,枚举值:Daily、Weekly | String | 是 |
Destination | 无 | 描述存放清单结果的信息 | Array | 是 |
COSBucketDestination | Destination | 清单结果导出后存放的存储桶信息 | Array | 是 |
Bucket | COSBucketDestination | 清单分析结果的存储桶名 | String | 是 |
AccountId | COSBucketDestination | 存储桶的所有者 UIN,例如100000000001 | String | 否 |
Prefix | COSBucketDestination | 清单分析结果的前缀 | String | 否 |
Format | COSBucketDestination | 清单分析结果的文件形式,可选项为 CSV 格式 | String | 是 |
Encryption | COSBucketDestination | 为清单结果提供服务端加密的选项 | Array | 否 |
SSE-COS | Encryption | COS 托管密钥的加密方式,无需填充 | String | 否 |
其他清单配置参数请参考API文档。
错误码说明
该请求可能会发生的一些常见的特殊错误如下:
错误码 | 描述 | 状态码 |
InvalidArgument | 不合法的参数值 | HTTP 400 Bad Request |
TooManyConfigurations | 清单数量已经达到1000条的上限 | HTTP 400 Bad Request |
AccessDenied | 未授权的访问。您可能不具备访问该存储桶的权限 | HTTP 403 Forbidden |
查询清单任务
功能说明
GET Bucket inventory 接口用于查询存储桶中用户的清单任务信息。
方法原型
public Guzzle\\Service\\Resource\\Model GetBucketInventory(array $args = array());
请求示例
try {$result = $cosClient->getBucketInvnetory(array('Bucket' => 'examplebucket-1250000000', //格式:BucketName-APPID'Id' => 'string',));// 请求成功print_r($result);} catch (\\Exception $e) {// 请求失败echo($e);}
参数说明
参数名称 | 描述 | 类型 |
bucket | 查询清单任务的存储桶,格式为 BucketName-APPID ,详情请参见 命名规范 | bucket |
Id | 清单任务的名称,合法字符:a-z,A-Z,0-9,-,_,. | String |
返回结果示例
GuzzleHttp\\Command\\Result Object([Destination] => Array([COSBucketDestination] => Array([Format] => CSV[AccountId] => 100000000001[Bucket] => qcs::cos:ap-chengdu::examplebucket-1250000000[Prefix] => String))[Schedule] => Array([Frequency] => Daily)[OptionalFields] => Array([0] => Size[1] => ETag)[IsEnabled] => true[Id] => string[IncludedObjectVersions] => Current[RequestId] => NWRmMzQwMDVfMjNiMjU4NjRfOGQ4MV9iN2Jk****)
返回结果说明
参数名称 | 描述 | 类型 |
Bucket | 存储桶名称格式为 BucketName-APPID ,详情请参见 命名规范 | String、Array |
Id | 清单的名称,与请求参数中的 id 对应 | Array |
IsEnabled | 清单是否启用的标识: 如果设置为 true,清单功能将生效 如果设置为 false,将不生成任何清单 | String |
IncludedObjectVersions | 是否在清单中包含对象版本: 如果设置为 All,清单中将会包含所有对象版本,并在清单中增加 VersionId,IsLatest,DeleteMarker 这几个字段 如果设置为 Current,则清单中不包含对象版本信息 | String |
Filter | 筛选待分析对象。清单功能将分析符合 Filter 中设置的前缀的对象 | Array |
Prefix | 需要分析的对象的前缀 | String |
OptionalFields | 清单结果中可选包含的分析项目名称,可选字段包括:Size,LastModifiedDate,StorageClass,ETag,IsMultipartUploaded,ReplicationStatus | Array |
Schedule | 配置清单任务周期 | Array |
Frequency | 清单任务周期,可选项为按日或者按周,枚举值:Daily、Weekly | String |
Destination | 描述存放清单结果的信息 | Array |
COSBucketDestination | 清单结果导出后存放的存储桶信息 | Array |
Bucket | 清单分析结果的存储桶名 | String |
AccountId | 存储桶的所有者 UIN,例如100000000001 | String |
Prefix | 清单分析结果的前缀 | String |
Format | 清单分析结果的文件形式 | String |
Encryption | 为清单结果提供服务端加密的选项 | Array |
SSE-COS | COS 托管密钥的加密方式,无需填充 | String |
删除清单任务
功能说明
DELETE Bucket inventory 删除存储桶中指定的清单任务。
方法原型
public Guzzle\\Service\\Resource\\Model DeleteBucketInventory(array $args = array());
请求示例
try {$result = $cosClient->deleteBucketInvnetory(array('Bucket' => 'examplebucket-1250000000', //格式:BucketName-APPID'Id' => 'string',));// 请求成功print_r($result);} catch (\\Exception $e) {// 请求失败echo($e);}
参数说明
参数名称 | 描述 | 类型 |
bucket | 存储桶名称的格式为 BucketName-APPID ,详情请参见 命名规范 | String |
Id | 清单任务的名称,合法字符:a-z,A-Z,0-9,-,_,. | String |