功能介绍
追加写对象操作是指在指定桶内的一个对象尾追加上传数据,不存在相同对象键值的对象则创建新对象。
通过Append Object操作创建的Object类型为Appendable Object,而通过Put Object上传的Object是Normal Object。
用户上传的对象存储在桶中。用户必须对桶有WRITE权限,才可以在桶中上传对象。同一个桶中存储的对象名必须是唯一的。
为了确保数据在传输过程中没有遭到破坏,用户可以在请求消息头中加入Content-MD5参数,OBS收到上传数据后,会对数据进行MD5校验,如果不一致则返回出错信息。
该操作支持在创建Appendable对象时指定x-obs-acl参数,设置对象的权限控制策略。
该操作支持服务端加密功能。
和其他操作的关系
对一个已经存在的Appendable对象进行Put Object操作,那么该Appendable对象会被新Object覆盖,类型变为Normal对象,反之出错。
Appendable对象复制后变成Normal对象,不支持Appenable对象复制成Appendable对象。
WORM
在开启了WORM开关的桶中,使用追加写上传对象将失败并返回403。
约束
每次追加上传都会更新该对象的最后修改时间。
服务端加密SSE-C方式,那么追加上传和初始化段一样,设置诸如x-obs-server-side-encryption之类的请求Header,后续追加上传也必须携带。
服务端加密SSE-KMS方式,有且只有第一次上传且桶内不存在同名对象时,才设置诸如x-obs-server-side-encryption之类的请求Header,后续追加上传不携带。
每次追加上传的长度不能超过对象长度上限5G的限制。
每个Appendable对象追加写次数最多为10000次。
如果对象存储类型为COLD(归档存储)或深度归档存储,则不能调用该接口。
如果桶设置了跨区域复制配置,则不能调用该接口。
并行文件系统不支持追加写对象。
请求消息样式
POST /ObjectName?append&position=Position HTTP/1.1
Host: bucketname.obs.cn-north-4.myhuaweicloud.com
Content-Type: application/xml
Content-Length: length
Authorization: authorization
Date: date