简介
本文档提供关于跨地域复制的 API 概览以及 SDK 示例代码。
API | 操作名 | 操作描述 |
设置跨地域复制 | 设置存储桶的跨地域复制规则 | |
查询跨地域复制 | 查询存储桶的跨地域复制规则 | |
删除跨地域复制 | 删除存储桶的跨地域复制规则 |
设置跨地域复制
功能说明
设置指定存储桶的跨地域复制规则(PUT Bucket replication)。
方法原型
public Guzzle\\Service\\Resource\\Model putBucketReplication(array $args = array());
请求示例
<?phprequire dirname(__FILE__) . '/../vendor/autoload.php';$secretId = "SECRETID"; //替换为用户的 secretId,请登录访问管理控制台进行查看和管理,https://console.cloud.tencent.com/cam/capi$secretKey = "SECRETKEY"; //替换为用户的 secretKey,请登录访问管理控制台进行查看和管理,https://console.cloud.tencent.com/cam/capi$region = "ap-beijing"; //替换为用户的 region,已创建桶归属的region可以在控制台查看,https://console.cloud.tencent.com/cos5/bucket$cosClient = new Qcloud\\Cos\\Client(array('region' => $region,'scheme' => 'https', //协议头部,默认为http'credentials'=> array('secretId' => $secretId ,'secretKey' => $secretKey)));try {$result = $cosClient->putBucketReplication(array('Bucket' => 'examplebucket-1250000000', //存储桶名称,由BucketName-Appid 组成,可以在COS控制台查看 https://console.cloud.tencent.com/cos5/bucket'Role' => 'qcs::cam::uin/100000000001:uin/100000000001','Rules'=>array(array('Status' => 'Enabled','ID' => 'string','Prefix' => 'string','Destination' => array('Bucket' => 'qcs::cos:ap-beijing::destinationbucket-1250000000','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());
请求示例
<?phprequire dirname(__FILE__) . '/../vendor/autoload.php';$secretId = "SECRETID"; //替换为用户的 secretId,请登录访问管理控制台进行查看和管理,https://console.cloud.tencent.com/cam/capi$secretKey = "SECRETKEY"; //替换为用户的 secretKey,请登录访问管理控制台进行查看和管理,https://console.cloud.tencent.com/cam/capi$region = "ap-beijing"; //替换为用户的 region,已创建桶归属的region可以在控制台查看,https://console.cloud.tencent.com/cos5/bucket$cosClient = new Qcloud\\Cos\\Client(array('region' => $region,'scheme' => 'https', //协议头部,默认为http'credentials'=> array('secretId' => $secretId ,'secretKey' => $secretKey)));try {$result = $cosClient->getBucketReplication(array('Bucket' => 'examplebucket-1250000000', //存储桶名称,由BucketName-Appid 组成,可以在COS控制台查看 https://console.cloud.tencent.com/cos5/bucket));// 请求成功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-1250000000[StorageClass] =>)))[RequestId] => NWQwOGI5MGVfNWFiMjU4NjRfNDUzY19mNzRh****))
返回结果说明
参数名称 | 类型 | 描述 | 父节点 |
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());
请求示例
<?phprequire dirname(__FILE__) . '/../vendor/autoload.php';$secretId = "SECRETID"; //替换为用户的 secretId,请登录访问管理控制台进行查看和管理,https://console.cloud.tencent.com/cam/capi$secretKey = "SECRETKEY"; //替换为用户的 secretKey,请登录访问管理控制台进行查看和管理,https://console.cloud.tencent.com/cam/capi$region = "ap-beijing"; //替换为用户的 region,已创建桶归属的region可以在控制台查看,https://console.cloud.tencent.com/cos5/bucket$cosClient = new Qcloud\\Cos\\Client(array('region' => $region,'scheme' => 'https', //协议头部,默认为http'credentials'=> array('secretId' => $secretId ,'secretKey' => $secretKey)));try {$result = $cosClient->deleteBucketReplication(array('Bucket' => 'examplebucket-1250000000', //存储桶名称,由BucketName-Appid 组成,可以在COS控制台查看 https://console.cloud.tencent.com/cos5/bucket));// 请求成功print_r($result);} catch (\\Exception $e) {// 请求失败echo "$e\\n";}
参数说明
参数名称 | 类型 | 描述 | 是否必填 |
Bucket | String | 删除跨地域复制的存储桶,格式:BucketName-APPID | 是 |