PUT Bucket Replication

最近更新时间:2021-01-27 11:18:22

描述

此接口会在源存储空间(Bucket)上设置跨区域复制规则。每个源桶只能设置一条复制规则,如果某个存储空间之前已经有跨区域复制规则,则会提示已存在跨区域复制规则。用户设置规则后,KS3内部会按照用户的设置,自动的将匹配到的Object复制到目标存储空间。

权限

如果要使用此接口,您需要对这个存储空间具有PUT BucketReplication权限。

请求

语法

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>
</Replication>

xml主要参数:

名称 描述 是否必须
Replication 包含跨区域复制规则的容器, 一个源存储空间只能有一条规则
类型:Container
子节点: 无
父节点:无
prefix 前缀匹配,如果object匹配了前缀规则才会对该对象进行复制,每条跨区域复制规则最多添加5条前缀匹配规则,且前缀之间不同重叠
类型:String
父节点:Replication
DeleteMarkerStatus 指明是否开始删除复制,若显式指定为Enabled为开启,若为Disabled或不指定均为关闭状态,若开启删除复制,则当源Bucket删除一个对象时,该对象在目标Bucket的副本也会删除
类型:String
父节点:Replication
targetBucket 跨区域复制的目标存储空间
类型:String
父节点:Replication

注意:

  • 每个源存储空间只能设置一条跨区域复制规则,但KS3支持双向复制,即一个源存储空间可以作为当前目标空间的目标空间。
  • 当存储空间没有开启与其他存储空间的复制时才能开始跨区域复制。例如空间A开启了到空间B的复制,那么就不能再为空间A开启到空间C的复制,除非先删除空间A到空间B的复制配置。同理,若空间A开启了到空间B的复制,此时再开启空间C到空间B的复制也是不允许的。
  • 跨区域复制规则最多添加5条前缀匹配规则,且前缀之间不同重叠。
  • 目标存储空间中的对象是源空间的精确副本,它们具有相同的对象名、元数据以及内容,例如创建时 间、拥有者、存储类型、用户定义的元数据、Object ACL、对象内容,对象加密方式(KS3托管秘钥的 加密方式),因此以上任何数据发生变化都会将变化内容同步到目标端。
  • 复制到目标端的文件遵循目标存储空间的生命周期规则。
  • 要删除处于复制关系中的存储空间,必须先关闭该复制关系才能将存储空间删除。
  • 跨区域复制的优先级高于生命周期管理,当一个对象开始执行生命周期管理操作时,首先将其复制到目 标存储空间然后再执行生命周期管理操作,以满足数据安全高于数据管理的核心原则。
  • 请注意,以下文件或数据将不会被复制:
    • 采用客户端加密的数据;
    • 源空间中新增的数据是来自其它空间复制的数据;
    • 存储空间级别的配置更新行为,不会进行文件复制,因为存储空间的配置不会作用到文件上;
    • 如果源文件的存储类型为归档存储,除非文件内容发生变化,否则不会对其进行复制。

响应

响应头部

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

响应内容

不返回内容。

特殊错误

Error Code 描述 HTTP Status Code
NoSuchBucketReplicationConfiguration 此存储空间没有跨区域复制规则配置 404 Not Found
Invalid Argument 该存储空间已配置跨区域复制规则
请求体格式错误
前缀超过5条
前缀超出长度限制
前缀含有特殊字符等
400 Invalid Argument

示例

请求示例

PUT /?crr HTTP/1.1
Host: ks3-example.ks3-cn-beijing.ksyun.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>

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

响应示例

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

金山云,开启您的云计算之旅

免费注册