存储桶管理

最近更新时间:2019-08-06 15:35:41

简介

本文档提供关于跨域访问、生命周期、版本控制、跨地域复制相关的 API 概览以及 SDK 示例代码。

跨域访问

API 操作名 操作描述
PUT Bucket cors 设置跨域配置 设置存储桶的跨域名访问权限
GET Bucket cors 查询跨域配置 查询存储桶的跨域名访问配置信息
DELETE Bucket cors 删除跨域配置 删除存储桶的跨域名访问配置信息

生命周期

API 操作名 操作描述
PUT Bucket lifecycle 设置生命周期 设置存储桶的生命周期管理的配置
GET Bucket lifecycle 查询生命周期 查询存储桶生命周期管理的配置
DELETE Bucket lifecycle 删除生命周期 删除存储桶生命周期管理的配置

版本控制

API 操作名 操作描述
PUT Bucket versioning 设置版本控制 设置存储桶的版本控制功能
GET Bucket versioning 查询版本控制 查询存储桶的版本控制信息

跨地域复制

API 操作名 操作描述
PUT Bucket replication 设置跨地域复制 设置存储桶的跨地域复制规则
GET Bucket replication 查询跨地域复制 查询存储桶的跨地域复制规则
DELETE Bucket replication 删除跨地域复制 删除存储桶的跨地域复制规则

跨域访问

设置跨域配置

功能说明

设置指定存储桶的跨域名访问配置信息(PUT Bucket cors)。

方法原型

public Guzzle\Service\Resource\Model putBucketCors(array $args = array());

请求示例

try {
    $result = $cosClient->putBucketCors(array(
        'Bucket' => 'examplebucket-1250000000', //格式:BucketName-APPID
        'CORSRules' => array(
            array(
                'AllowedHeaders' => array('*',),
                'AllowedMethods' => array('Put', ),
                'AllowedOrigins' => array('*', ),
                'ExposeHeaders' => array('*', ),
                'MaxAgeSeconds' => 1,
            ),  
            // ... repeated
        )   
    )); 
    // 请求成功
    print_r($result);
} catch (\Exception $e) {
    // 请求失败
    echo "$e\n";
}

参数说明

参数名称 类型 描述 必填
Bucket String 存储桶名称,格式:BucketName-APPID
CORSRules Array 跨域信息列表
CORSRule Array 跨域信息
AllowedMethods String 允许的 HTTP 操作,枚举值:GET,PUT,HEAD,POST,DELETE
AllowedOrigins String 允许的访问来源,支持通配符 *, 格式为:协议://域名[:端口]如:http://www.qq.com
AllowedHeaders String 在发送 OPTIONS 请求时告知服务端,接下来的请求可以使用哪些自定义的 HTTP 请求头部,支持通配符*
ExposeHeaders String 设置浏览器可以接收到的来自服务器端的自定义头部信息
MaxAgeSeconds Int 设置 OPTIONS 请求得到结果的有效期
ID String 配置规则的 ID

查询跨域配置

功能说明

查询指定存储桶的跨域名访问配置信息(GET Bucket cors)。

方法原型

public Guzzle\Service\Resource\Model getBucketCors(array $args = array());

请求示例

try {
    $result = $cosClient->getBucketCors(array(
        'Bucket' => 'examplebucket-1250000000' //格式:BucketName-APPID
    )); 
    // 请求成功
    print_r($result);
} catch (\Exception $e) {
    // 请求失败
    echo($e);
}

参数说明

参数名称 类型 描述 必填
Bucket String 存储桶名称,格式:BucketName-APPID

返回结果示例

Guzzle\Service\Resource\Model Object
(
    [data:protected] => Array
        (
            [CORSRules] => Array
                (
                    [0] => Array
                        (
                            [ID] => 1234
                            [AllowedHeaders] => Array
                                (
                                    [0] => *
                                )
                            [AllowedMethods] => Array
                                (
                                    [0] => PUT
                                )
                            [AllowedOrigins] => Array
                                (
                                    [0] => http://www.qq.com
                                )
                        )
                )
            [RequestId] => NWE3YzhkMmRfMTdiMjk0MGFfNTQzZl8xNWUwMGU=
        )
)

返回结果说明

参数名称 类型 描述 父节点
CORSRules Array 跨域信息列表
CORSRule Array 跨域信息 CORSRules
AllowedMethods String 允许的 HTTP 操作,枚举值:GET,PUT,HEAD,POST,DELETE CORSRule
AllowedOrigins String 允许的访问来源,支持通配符*, 格式为:协议://域名[:端口]。例如:http://www.qq.com CORSRule
AllowedHeaders String 在发送 OPTIONS 请求时告知服务端,接下来的请求可以使用哪些自定义的 HTTP 请求头部,支持通配符* CORSRule
ExposeHeaders String 设置浏览器可以接收到的来自服务器端的自定义头部信息 CORSRule
MaxAgeSeconds Int 设置 OPTIONS 请求得到结果的有效期 CORSRule
ID String 配置规则的 ID CORSRule

删除跨域配置

功能说明

删除指定存储桶的跨域名访问配置(DELETE Bucket cors)。

方法原型

public Guzzle\Service\Resource\Model deleteBucketCors(array $args = array());

请求示例

try {
    $result = $cosClient->deleteBucketCors(array(
        'Bucket' => 'examplebucket-1250000000' //格式:BucketName-APPID
    )); 
    // 请求成功
    print_r($result);
} catch (\Exception $e) {
    // 请求失败
    echo($e);
}

参数说明

参数名称 类型 描述 必填
Bucket String 存储桶名称,格式:BucketName-APPID

生命周期

设置生命周期

功能说明

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

方法原型

public Guzzle\Service\Resource\Model putBucketLifecycle(array $args = array());

请求示例

try {
    $result = $cosClient->putBucketCors(array(
        'Bucket' => 'examplebucket-1250000000', //格式:BucketName-APPID
        'Rules' => array(
            array(
                'Expiration' => array(
                    'Days' => integer,
                ),  
                'ID' => 'string',
                'Filter' => array(
                    'Prefix' => 'string'
                ),  
                'Status' => 'string',
                'Transitions' => array(
                    array(
                        'Days' => integer,
                        'StorageClass' => 'string'
                    ),  
                    // ... repeated
                ),  
            ),  
            // ... repeated
        )   
    );  
    // 请求成功
    print_r($result);
} catch (\Exception $e) {
    // 请求失败
    echo "$e\n";
}

参数说明

参数名称 类型 描述 必填
Bucket String 存储桶名称,格式:BucketName-APPID
Rules Array 生命周期信息列表
Rule Array 生命周期信息
Expiration Array 设置 Object 过期规则,可以指定天数 Days 或者指定日期 Date
Transition Array 设置 Object 转换存储类型规则
Filter Array 用于描述规则影响的 Object 集合
Prefix String 过滤的对象的前缀
Status String 设置 Rule 是否启用,可选值为 Enabled 、 Disabled
ID String 配置规则的 ID
Days Int 设置生效的天数
Date Int / String 设置生效的日期
StorageClass String 转换的文件的存储类型,STANDARD 、 STANDARD_IA 、 ARCHIVE,默认值:STANDARD

查询生命周期

功能说明

设置 Bucket 生命周期管理的配置(GET Bucket lifecycle)。

方法原型

public Guzzle\Service\Resource\Model getBucketLifecycle(array $args = array());

请求示例

try {
    $result = $cosClient->getBucketLifecycle(array(
        'Bucket' => 'examplebucket-1250000000' //格式:BucketName-APPID
    )); 
    // 请求成功
    print_r($result);
} catch (\Exception $e) {
    // 请求失败
    echo($e);
}

参数说明

参数名称 类型 描述 必填
Bucket String 存储桶名称,格式:BucketName-APPID

返回结果示例

Guzzle\Service\Resource\Model Object
(
    [data:protected] => Array
        (
            [Rules] => Array
                (
                    [0] => Array
                        (
                            [ID] => id1
                            [Filter] => Array
                                (
                                    [Prefix] => documents/
                                )
                            [Status] => Enabled
                            [Transition] => Array
                                (
                                    [Days] => 200
                                    [StorageClass] => Standard_IA
                                )
                            [Expiration] => Array
                                (
                                    [Days] => 1000
                                )
                        )
                )
            [RequestId] => NWE3YzhlZjNfY2FhMzNiMGFfNDVkNF8yZDIxODE=
        )
)

返回结果说明

参数名称 类型 描述 父节点
Rules Array 生命周期信息列表
Rule Array 生命周期信息 Rules
Expiration Array 设置 Object 过期规则,可以指定天数 Days 或者指定日期 Date Rule
Transition Array 设置 Object 转换存储类型规则 Rule
Filter Array 用于描述规则影响的 Object 集合 Rule
Prefix String 过滤的对象的前缀 Filter
Status String 设置 Rule 是否启用,可选值为 Enabled 、 Disabled Rule
ID String 配置规则的 ID Rule
Days Int 设置生效的天数 Expiration / Transition
Date Int / String 设置生效的日期 Expiration / Transition
StorageClass String 转换的文件的存储类型,STANDARD 、 STANDARD_IA 、 ARCHIVE,默认值:STANDARD Transition

删除生命周期

功能说明

删除 Bucket 生命周期管理的配置(DELETE Bucket lifecycle)。

方法原型

public Guzzle\Service\Resource\Model deleteBucketLifecycle(array $args = array());

请求示例

try {
    $result = $cosClient->deleteBucketLifecycle(array(
        'Bucket' => 'examplebucket-1250000000' //格式:BucketName-APPID
    )); 
    // 请求成功
    print_r($result);
} catch (\Exception $e) {
    // 请求失败
    echo($e);
}

参数说明

参数名称 类型 描述 必填
Bucket String 存储桶名称,格式:BucketName-APPID

版本控制

设置版本控制

功能说明

设置指定存储桶的版本控制功能(PUT Bucket versioning)。

方法原型

public Guzzle\Service\Resource\Model putBucketVersioning(array $args = array());

请求示例

开启版本控制

try {
    $result = $cosClient->putBucketVersioning(array(
        'Bucket' => 'examplebucket-125000000', //格式:BucketName-APPID
        'Status' => 'Enabled'
    )); 
    // 请求成功
    print_r($result);
} catch (\Exception $e) {
    // 请求失败
    echo "$e\n";
}

暂停版本控制

try {
    $result = $cosClient->putBucketVersioning(array(
        'Bucket' => 'examplebucket-125000000', //格式:BucketName-APPID
        'Status' => 'Suspended'
    )); 
    // 请求成功
    print_r($result);
} catch (\Exception $e) {
    // 请求失败
    echo "$e\n";
}

参数说明

参数名称 类型 描述 必填
Bucket String 存储桶名称,格式:BucketName-APPID
Status String 版本控制策略,可选值为Suspended/Enabled

查询版本控制

功能说明

查询指定存储桶的版本控制信息(GET Bucket versioning)。

方法原型

public Guzzle\Service\Resource\Model getBucketVersioning(array $args = array());

请求示例

try {
    $result = $cosClient->getBucketVersioning(array(
        'Bucket' => 'examplebucket-125000000', //格式:BucketName-APPID
    )); 
    // 请求成功
    print_r($result);
} catch (\Exception $e) {
    // 请求失败
    echo "$e\n";
}

参数说明

参数名称 类型 描述 必填
Bucket String 存储桶名称,格式:BucketName-APPID

返回结果说明

参数名称 类型 描述 父节点
Status String 版本控制策略,可选值为Suspended/Enabled或空

跨地域复制

设置跨地域复制

功能说明

设置指定存储桶的跨地域复制规则(PUT Bucket replication)。

方法原型

public Guzzle\Service\Resource\Model putBucketReplication(array $args = array());

请求示例

try {
    $result = $cosClient->putBucketReplication(array(
        'Bucket' => 'examplebucket-125000000', //格式:BucketName-APPID
        'Role' => 'qcs::cam::uin/100000000001:uin/100000000001',
        'Rules'=>array(
            array(
                'Status' => 'Enabled',
                'ID' => 'string',
                'Prefix' => 'string',
                'Destination' => array(                    'Bucket' => 'qcs::cos:ap-guangzhou::examplebucket2-125000000',
                    'StorageClass' => 'standard',                ),  
                // ...repeated            ),  
        ),      )); 
    // 请求成功    print_r($result);
} catch (\Exception $e) {    // 请求失败
    echo "$e\n";
}

参数说明

参数名称 类型 描述 必填
Bucket String 源存储桶名称,格式:BucketName-APPID
Role String 发起者身份标示, 格式为 qcs::cam::uin/:uin/
Rules Array 设置对应的规则,包括 ID,Status,Prefix,Destination
ID String 设置规则的 ID
Status String 设置 Rule 是否启用,可选值为 Enabled 或者 Disabled
Prefix String 设置 Rule 的前缀匹配规则,为空时表示作用存储桶中的所有 objects
Destination String 描述目的资源, 包括 Bucket 和 StorageClass
Bucket String 设置跨地域复制的目标存储桶,格式为 qcs::cos:[region]::[BucketName-APPID]
StorageClass String 设置目的文件的存储类型,可选值为'STANDARD','STANDARD_IA'

查询跨地域复制

功能说明

查询指定存储桶的跨地域复制规则(GET Bucket replication)。

方法原型

public Guzzle\Service\Resource\Model getBucketReplication(array $args = array());

请求示例

try {
    $result = $cosClient->getBucketReplication(array(
        'Bucket' => 'examplebucket-125000000', //格式:BucketName-APPID
    )); 
    // 请求成功
    print_r($result);
} catch (\Exception $e) {
    // 请求失败
    echo "$e\n";
}

参数说明

参数名称 类型 描述 必填
Bucket String 存储桶名称,格式:BucketName-APPID

返回结果示例

Guzzle\Service\Resource\Model Object
(
    [data:protected] => Array
        (
            [Role] => qcs::cam::uin/100000000001:uin/100000000001
            [Rules] => Array
                (
                    [0] => Array
                        (
                            [ID] => string
                            [Status] => Enabled
                            [Prefix] => string
                            [Destination] => Array
                                (
                                    [Bucket] => qcs::cos:ap-guangzhou::examplebucket2-125000000
                                    [StorageClass] => 
                                )
                        )
                )
            [RequestId] => NWQwOGI5MGVfNWFiMjU4NjRfNDUzY19mNzRhMTU=
        )
)

返回结果说明

参数名称 类型 描述 父节点
Role String 发起者身份标示, 格式为 qcs::cam::uin/:uin/
Rules Array 设置对应的规则,包括 ID,Status,Prefix,Destination
Rule Array 设置对应的规则,包括 ID,Status,Prefix,Destination Rules
ID String 设置规则的 ID Rule
Status String 设置 Rule 是否启用,可选值为 Enabled 或者 Disabled Rule
Prefix String 设置 Rule 的前缀匹配规则,为空时表示作用存储桶中的所有 objects Rule
Destination String 描述目的资源, 包括 Bucket 和 StorageClass Rule
Bucket String 设置跨地域复制的目标存储桶,格式为 qcs::cos:[region]::[BucketName-APPID] Destination
StorageClass String 设置目的文件的存储类型,可选值为'STANDARD','STANDARD_IA' Destination

删除跨地域复制

功能说明

删除指定存储桶的跨地域复制规则(DELETE Bucket replication)。

方法原型

public Guzzle\Service\Resource\Model deleteBucketReplication(array $args = array());

请求示例

try {
    $result = $cosClient->deleteBucketReplication(array(
        'Bucket' => 'examplebucket-125000000', //格式:BucketName-APPID
    )); 
    // 请求成功
    print_r($result);
} catch (\Exception $e) {
    // 请求失败
    echo "$e\n";
}

参数说明

参数名称 类型 描述 必填
Bucket String 存储桶名称,格式:BucketName-APPID