接口介绍
此接口用于以追加写的方式上传对象。区别于通过PutObject上传的Normal Object,通过AppendObject操作上传的对象类型为Appendable Object。
接口约束
当存储桶开启多版本的情况下不支持通过追加写上传对象。当对象处于合规保留政策保护期内时不支持追加写操作。
请求URI
PUT /v1/{bucket}/{objectName}
路径参数
参数 | 是否必填 | 参数类型 | 说明 | 示例 |
---|---|---|---|---|
bucket | 是 | String | 桶名称。 | testBucket |
objectName | 是 | String | 对象名称。 | test |
Query参数
参数 | 是否必填 | 参数类型 | 说明 | 示例 | 下级对象 |
---|---|---|---|---|---|
append | 是 | String | 固定参数。 | ||
position | 是 | Integer | 指定对象追加为位置。 每次追加写成功后,响应消息头会返回下一次追加的position。首次追加操作的position必须为0,后续追加操作的position是对象的当前大小。 | 48 |
注: 如果query中的参数为固定参数,可以传参数名或传空。
请求参数
请求头header参数
此接口涉及的其他公共请求头,例如Host、Date等的更多信息,请参见公共HTTP头。
请求体body参数
必传,对应为需要实际上传的数据部分。
响应参数
参数 | 参数类型 | 说明 | 示例 | 下级对象 |
---|---|---|---|---|
x-rgw-next-append-position | Integer | 下一次请求应当提供的position,即当前对象大小。 | -- | |
x-amz-next-append-position | Integer | 同x-rgw-next-append-position。 | -- |
请求示例
PUT /v1/testbucket/test?append&position=48 HTTP/1.1
请求头header
Host: gdoss.xstore.ctyun.cn
Date: Wed, 28 Oct 2023 09:32:00 GMT
Authorization: authorization string
Content-Type: text/plain
Content-Length: 1145
请求体body
实际文件数据。
响应示例
HTTP/1.1 200 OK
x-amz-request-id: 0A49CE4060975EAC
x-rgw-next-append-position: 100
x-amz-next-append-position: 100
Date: Wed, 12 Oct 2009 17:50:00 GMT
ETag: "1b2cf535f27731c974343645a3985328"
状态码
HTTP状态 | 描述 |
---|---|
200 | 操作成功。 |
400 | 上传的文件太大。 |
400 | 对象的名字不合法。 |
403 | 用户没有权限执行操作。 |
404 | 操作指定的桶不存在。 |
409 | 请求参数中position的值与对象追加前的大小不一致。 |
409 | 对象类型不支持追加写操作。 |
409 | 桶版本控制设置为enabled或suspended。 |