设置Bucket数据同步
更新时间:2021-12-29
接口说明
本接口用来创建数据同步。每个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
- id 由数字字母 - _ 组成,不得超过20个字符
请求URI
PUT /v1/{bucketName}/?replication
参数名称 | 参数类型 | 是否必须 | 描述 | 示例值 | 参数位置 |
---|---|---|---|---|---|
bucketName | String | 是 | bucket的名称 | "bucketName_example" | Path |
id | String | 是 | replication规则名,id 由数字字母 - _ 组成,不得超过20个字符 | "id_example" | Query |
请求体参数
请求体字段数据结构说明
参数名称 | 参数类型 | 是否必须 | 描述 | 示例值 |
---|---|---|---|---|
status | String | 是 | 是否生效 | enabled |
resource | List<String> | 是 | replication生效前缀,resource的配置形式为{$bucket_name/<生效的对象前缀>},必须要以$bucket_name+/开头 | |
destination | Destination | 是 | 复制的目的端配置 | |
replicateHistory | ReplicateHistory | 否 | 历史文件复制,有该项则认为是开启。开启历史文件复制后,存量的全部Object都同步复制到目的Bucket,复制范围共用resource。 | |
replicateDeletes | String | 是 | 是否开启删除同步,可以为enabled,disabled 。 | enabled |
id | String | 是 | replication规则名,id 由数字字母 - _ 组成,不得超过20个字符 | sample-bucket |
Destination字段数据结构说明
参数名称 | 参数类型 | 是否必须 | 描述 | 示例值 |
---|---|---|---|---|
bucket | String | 是 | 目的Bucket name | dst-bucket-name |
storageClass | String | 否 | 目的Object的存储类型。如果保持和源Bucket的存储类型一致,则该参数不需要配置;如果需要单独指定存储类型可以为STANDARD,STANDARD_IA,COLD;如果是多AZ类型bucket,可取值为MAZ_STANDARD_IA和MAZ_STANDARD。 | COLD |
ReplicateHistory字段数据结构说明
参数名称 | 参数类型 | 是否必须 | 描述 | 示例值 |
---|---|---|---|---|
storageClass | String | 否 | 目的Object的存储类型。如果保持和源Bucket的存储类型一致,则该参数不需要配置;如果需要单独指定存储类型可以为STANDARD,STANDARD_IA,COLD;如果是多AZ类型bucket,可取值为MAZ_STANDARD_IA和MAZ_STANDARD。 | COLD |
响应体参数
响应体字段数据结构说明
请求示例
PUT /v1/bucketName_example/?replication&id=id_example
<公共请求头>
{
"resource" : [ "src-bucket-name/abc" ],
"destination" : {
"bucket" : "dst-bucket-name",
"storageClass" : "COLD"
},
"id" : "sample-bucket",
"replicateHistory" : {
"storageClass" : "COLD"
},
"replicateDeletes" : "enabled",
"status" : "enabled"
}
响应示例
HTTP/1.1 200 OK
<公共响应头>
{ }
错误码
请参考通用错误码