数据同步配置
更新时间:2023-09-18
Bucket数据同步配置
设置数据同步规则
-
基本流程
- 创建BosClient。
- 执行putBucketReplication()方法。
-
示例代码
const ReplicationInfo = { status:"enabled", resource:[ bucketName + "/*" ], destination: { bucket: <dstBucketName>, storageClass: "COLD" }, replicateHistory: { bucket: <dstBucketName>, storageClass:"COLD" }, replicateDeletes:"enabled", id: <ruleId> } client.putBucketReplication(<BucketName>,<ReplicationInfo>) .then(function(response) { if(response) { // TODO } }) .catch(function() {});
- 参数 ReplicationInfo 结构
参数 | 是否必须 | 描述 |
---|---|---|
id | 是 | replication规则名,id 由数字字母 - _ 组成,不得超过20个字符 |
status | 是 | 是否生效 |
resource | 是 | replication生效前缀,resource的配置形式为{$BucketName/<生效的对象前缀>},必须要以$BucketName +/ 开头 |
destination | 是 | 复制的目的端配置 |
+bucket | 是 | 目的Bucket name |
+storageClass | 否 | 目的Object的存储类型。如果保持和源Bucket的存储类型一致,则该参数不需要配置;如果需要单独指定存储类型可以为STANDARD ,STANDARD_IA ,COLD ;如果是多AZ类型bucket,可取值为MAZ_STANDARD_IA 和MAZ_STANDARD 。 |
replicateHistory | 否 | 历史文件复制,有该项则认为是开启。开启历史文件复制后,存量的全部Object都同步复制到目的Bucket,复制范围共用resource。 |
+storageClass | 否 | 目的Object的存储类型。如果保持和源Bucket的存储类型一致,则该参数不需要配置;如果需要单独指定存储类型可以为STANDARD ,STANDARD_IA ,COLD ;如果是多AZ类型bucket,可取值为MAZ_STANDARD_IA 和MAZ_STANDARD 。 |
replicateDeletes | 是 | 是否开启删除同步,可以为enabled ,disabled 。 |
注意
- 用户必须是源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个字符
获取指定的数据同步规则
用户可通过该方法获取bucket指定id的数据同步信息,包括源Bucket名称、目的Bucket名称、存储类型、是否进行历史复制、数据同步策略、目的region等
- 基本流程
1. 创建BosClient。
2. 执行getBucketReplication()方法。
- 示例代码
```js
client.getBucketReplication(<BucketName>,<RuleId>)
.then(function(response) {
if(response) {
// TODO
}
else {}
})
.catch(function() {});
```
删除指定的数据同步规则
用户可通过该方法删除bucket指定id的数据同步规则
- 基本流程
1. 创建BosClient。
2. 执行deleteBucketReplication()方法。
- 示例代码
```js
client.deleteBucketReplication(<BucketName>,<RuleId>)
.then(function(response) {
if(response) {
// TODO
}
else {}
})
.catch(function() {});
```
列举所有数据同步规则
用户可通过该方法获取bucket所有的replication同步规则
- 基本流程
1. 创建BosClient。
2. 执行listBucketReplication()方法。
- 示例代码
```js
client.listBucketReplication(<BucketName>)
.then(function(response) {
if(response) {
// TODO
}
else {}
})
.catch(function() {});
```
获取指定的数据同步规则的进程状态
用户可通过该方法获取bucket指定id的数据同步复制的进程状态
- 基本流程
1. 创建BosClient。
2. 执行getBucketReplicationProgress()方法。
- 示例代码
```js
client.getBucketReplicationProgress(<BucketName>,<RuleId>)
.then(function(response) {
if(response) {
// TODO
}
else {}
})
.catch(function() {});
```