PutBucketReplication
更新时间:2024-01-12
接口描述
本接口用来创建数据同步。每个id唯一确定一条replication规则,对一个id首次put会认为是创建一条replication规则,对同一个id的再次put认为是覆盖,如果原先status是enable,则不允许覆盖成disable;如果原先是enable,再次put成enable,replication会重新开始执行;不允许两个replication规则除了id一致以外其他项均一致。
说明:
- 用户必须是源Bucket的owner且拥有FULL_CONTROL权限,且有目标Bucket的写权限。
- 目标Bucket和源Bucket必须存在。
- 目标Bucket和源Bucket可以是同region下的Bucket,也可以是不同Region下的Bucket。
- 目标Bucket和源Bucket可以是同账户下的bucket,也可以是不同账户下的bucket,但是源账户需要有目的bucket的写权限
- 整个配置的大小不能超过128k,当前bucket下所有规则长度不得超过200KB
- 数据同步暂时不支持归档类型文件的同步,进行数据同步时会忽略归档类型文件。
- 用户最多配置10条replication规则
- 单个规则,最多20个resource
- 单个规则,最多20个notIncludeResource
- id 由数字字母 - _ 组成,不得超过20个字符
请求(Request)
-
请求语法
PUT /?replication&id=sample-bucket HTTP/1.1 Host: <BucketName>.bj.bcebos.com x-bce-date: date Content-Length: request-body length Content-Type: application/json; charset=utf-8 Authorization:<AuthorizationString> { "status": "enabled", "resource": [ "src-bucket-name/abc", "src-bucket-name/cd*" ], "notIncludeResource": [ src-bucket-name/prefix/*, src-bucket-name/*.jpeg, src-bucket-name/*test* ], "destination": { "bucket": "dst-bucket-name", "storageClass": "COLD" }, "replicateHistory": { "storageClass": "COLD" }, "replicateDeletes": "enabled", "id": "sample-bucket" }
-
请求头域
无特殊参数
-
请求参数
参数 是否必须 描述 id 是 replication规则名,id 由数字字母 - _ 组成,不得超过20个字符 status 是 是否生效 resource 是 replication生效前缀,resource的配置形式为{$bucket_name/<生效的对象前缀>},必须要以 $bucket_name
+/
开头notIncludeResource 否 replication不生效范围,notIncludeResource的配置形式为{$bucket_name/<不生效的对象范围>},必须要以 $bucket_name
+/
开头, 只接受以下三种形式,${bucketname}/<不生效的对象前缀>+*
,${bucketname}/*
+<不生效的对象后缀>,${bucketname}/*
+不生效的对象中缀+*
,参见请求示例destination 是 复制的目的端配置 +bucket 是 目的Bucket name。同步到不同区域的bucket,指定bucket名称即可自动获取区域信息 +storageClass 否 目的Object的存储类型。如果保持和源Bucket的存储类型一致,则该参数不需要配置;如果需要单独指定存储类型可以为 STANDARD
,STANDARD_IA
,COLD
;如果是多AZ类型bucket,可取值为MAZ_STANDARD_IA
和MAZ_STANDARD
。+prefix 否 目的存储路径 replicateHistory 否 历史文件复制,有该项则认为是开启。开启历史文件复制后,存量的全部Object都同步复制到目的Bucket,复制范围共用resource。 +storageClass 否 目的Object的存储类型。如果保持和源Bucket的存储类型一致,则该参数不需要配置;如果需要单独指定存储类型可以为 STANDARD
,STANDARD_IA
,COLD
;如果是多AZ类型bucket,可取值为MAZ_STANDARD_IA
和MAZ_STANDARD
。replicateDeletes 是 是否开启删除同步,可以为 enabled
,disabled
。
响应(Response)
示例
-
请求示例
PUT /?replication&id=sample-bucket HTTP/1.1 Host: BucketName.bj.bcebos.com x-bce-date: date Content-Length: xxx Content-Type: application/json; charset=utf-8 Authorization: AuthorizationString { "status": "enabled", "resource": [ "src-bucket-name/abc", "src-bucket-name/cd*" ], "notIncludeResource": [ src-bucket-name/prefix/*, src-bucket-name/*.jpeg, src-bucket-name/*test* ], "destination": { "bucket": "dst-bucket-name", "storageClass": "COLD", "prefix": "dst-file-name/" }, "replicateHistory": { "storageClass": "COLD" }, "replicateDeletes": "enabled", "id": "sample-bucket-replication-config" }
-
响应示例
HTTP/1.1 200 OK x-bce-request-id: xxxx-xxxx-xxxx Date: Wed, 12 May 2017 17:50:00 GMT Content-Length: 0 Connection: keep-alive Server: BceBos