跨地域复制

最近更新时间:2023-11-23 19:42:33

我的收藏

简介

本文档提供关于跨地域复制的 API 概览以及 SDK 示例代码。
API
操作名
操作描述
设置跨地域复制
设置存储桶的跨地域复制规则
查询跨地域复制
查询存储桶的跨地域复制规则
删除跨地域复制
删除存储桶的跨地域复制规则

设置跨地域复制

功能说明

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

方法原型

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

请求示例

<?php

require 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());

请求示例

<?php

require 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());

请求示例

<?php

require 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