全部文档
当前文档

暂无内容

如果没有找到您期望的内容,请尝试其他搜索词

文档中心

PUT Bucket Replication

最近更新时间:2024-01-17 19:29:00

描述

此接口会在源存储空间(Bucket)上设置复制规则。设置成功后,KS3内部会按照用户的设置,自动的将匹配到的Object复制到目标存储空间。如果要使用此接口,您需要是该Bucket的拥有者或具有ks3:PutBucketReplication权限。

说明

  • 每个源存储空间只能设置一条复制规则,如果某个存储空间之前已经有复制规则,则会提示已存在复制规则。

  • KS3支持配置跨区域复制和同区域复制,但每个源存储空间只能设置一种复制规则,即跨区域复制与同区域复制二者只能存在一种规则。

  • KS3支持双向复制,即一个源存储空间可以同时作为当前目标空间的目标空间。

  • 当存储空间没有开启与其他存储空间的复制时才能开始复制。例如空间A开启了到空间B的复制,那么就不能再为空间A开启到空间C的复制,除非先删除空间A到空间B的复制配置。同理,若空间A开启了到空间B的复制,此时再开启空间C到空间B的复制也是不允许的。

  • 复制规则最多添加10条前缀匹配规则,且前缀之间不能重叠。

  • 目标存储空间中的对象是源空间的副本,它们具有相同的对象名、元数据以及内容,例如创建时间、拥有者、存储类型、用户定义的元数据、Object ACL、对象内容,对象加密方式(KS3托管秘钥的加密方式),因此以上任何数据发生变化都会将变化内容同步到目标端。

  • 复制到目标端的文件遵循目标存储空间的生命周期规则。

  • 要删除处于复制关系中的存储空间,必须先关闭该复制关系才能将存储空间删除。

  • 复制功能的优先级高于生命周期管理,当一个对象开始执行生命周期管理操作时,首先将其复制到目标存储空间然后再执行生命周期管理操作,以满足数据安全高于数据管理的核心原则。

  • 请注意,以下文件或数据将不会被复制:

    • 采用客户端加密的数据;

    • 源空间中新增的数据是来自其它空间复制的数据;

    • 存储空间级别的配置更新行为,不会进行文件复制,因为存储空间的配置不会作用到文件上;

    • 如果源文件的存储类型为归档存储,除非文件内容发生变化,否则不会对其进行复制。

请求

语法

PUT /?crr HTTP/1.1  
Host: {BucketName}.{endpoint}  
Date: {date}  
Authorization: {SignatureValue}  
Content-length: {length}  
Content-MD5: {md5}   

<Replication xmlns="http://s3.amazonaws.com/doc/2006-03-01/">  
	<prefix>prefix1</prefix>  
	<prefix>prefix2</prefix>  
	<DeleteMarkerStatus>Enabled</DeleteMarkerStatus>  
	<targetBucket>bucketname</targetBucket>
</Replication>

请求参数

该接口不使用请求参数。

请求头部

名称

描述

是否必选

Content-MD5

body里data的128位md5 digest,再用base64编码。这个header必须存在,以便检查body是否损坏。详见RFC-1864
类型: String
默认值: 无

请求体

一段描述跨区域复制configuration的xml。

<Replication xmlns="http://s3.amazonaws.com/doc/2006-03-01/">  
	<prefix>prefix1</prefix>  
	<prefix>prefix2</prefix>  
	<DeleteMarkerStatus>Enabled</DeleteMarkerStatus>  
	<targetBucket>bucketname</targetBucket>
        <HistoricalObjectReplication>Enabled</HistoricalObjectReplication>
</Replication>

xml主要参数:

名称

描述

是否必选

Replication

包含复制规则的容器,一个源存储空间只能有一条规则
类型:Container
子节点: 无
父节点:无

prefix

前缀匹配,只有object匹配了前缀规则才会对该对象进行复制,每条复制规则最多添加10条前缀匹配规则,且前缀之间不能重叠
类型:String
父节点:Replication

DeleteMarkerStatus

指明是否开启删除复制,若指定为Enabled代表开启,若为Disabled或不指定均代表关闭状态,若开启删除复制,则当源Bucket删除一个对象时,该对象在目标Bucket的副本也会删除
类型:String
父节点:Replication

targetBucket

复制规则的目标存储空间
类型:String
父节点:Replication

HistoricalObjectReplication

指定是否复制历史数据。即开启数据复制前,是否将源Bucket中的数据复制到目标Bucket。
取值:
Enabled:将历史数据复制到目标桶中(默认值)
Disabled:不复制历史数据,仅将开启规则后的新数据复制到目标桶中。

响应

响应头部

本接口只带有常用响应头部。获取更多信息,请点击常用响应头部。

响应内容

不返回内容。

示例

请求示例

以下示例为在某个存储空间上设置复制规则,其中复制规则匹配两条前缀规则(“abc”和“xyz”),且启用删除同步功能,目标存储空间为targetbucket。

PUT /?crr HTTP/1.1
Host: ks3-example.ks3-cn-beijing.ksyuncs.com
Date: Wed, 14 May 2014 02:11:21 GMT
Content-MD5: xxx 
Authorization: authorization string
Content-Length: yyy
Content-type: application/xml

<Replication>
    <prefix>abc</prefix>
    <prefix>xyz</prefix>
    <DeleteMarkerStatus>Enabled</DeleteMarkerStatus>
    <targetBucket>targetbucket</targetBucket>
</Replication>

响应示例

HTTP/1.1 200 OK
Content-Length: 0
Connection: keep-alive
Date: Tue, 19 Jul 2017 09:14:23 GMT
Server: KS3
x-kss-request-id: 6af24440694b4d00b8de063ccbe86336

错误码

错误码

HTTP状态码

描述

InvalidArgument

400 Bad Request

  • 请求体格式错误

  • 前缀超过10条

InvalidCrrArgument

400 Bad Request

该存储空间已配置复制规则

BucketReplicationExists

409 Conflict

删除的存储空间处于复制关系中

文档导读
纯净模式常规模式

纯净模式

点击可全屏预览文档内容
文档反馈