控制台指南

最佳实践

开发者指南

数据湖存储

API 文档

SDK 文档

数据库文档捉虫大赛邀您参加,好礼多多> HOT

简介

本文档提供关于清单的 API 概览以及 SDK 示例代码。

API 操作名 操作描述
PUT Bucket inventory 设置清单任务 设置存储桶的清单任务
GET Bucket inventory 查询清单任务 查询存储桶的清单任务
DELETE Bucket inventory 删除清单任务 删除存储桶的清单任务

设置清单任务

功能说明

PUT Bucket inventory 用于在存储桶中创建清单任务,您可以对清单任务命名后,使用该请求创建清单任务,详细信息请参见 清单功能概述

注意:

  • 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

删除清单任务

功能说明

DELETE Bucket inventory 用于删除存储桶中指定的清单任务,用户需提供待删除的清单任务的名称。
有关清单的详细介绍,请参见 清单功能概述

注意:

  • 调用该请求时,请确保您有足够的权限对存储桶的清单任务进行操作。
  • 存储桶所有者默认拥有该权限,如您无该项权限,请先向存储桶所有者申请该项操作的权限。

请求示例

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
目录