You need to enable JavaScript to run this app.
导航
AppendObject
最近更新时间:2024.08.01 20:30:28首次发布时间:2021.10.13 16:14:08

功能描述

此接口用于追加写对象,通过AppendObject接口创建的对象类型为Appendable Object,通过PutObject上传和分片上传的对象类型为Normal Object。

使用说明

使用 AppendObject 接口时,对象的大小限制说明如下:

  • 追加后的对象大小不能大于 5GB。
  • 通过 AppendObject 创建的对象,进行 PutObject 操作,对象被覆盖且对象类型由 Appendable 变为 Normal。反之通过 PutObject 上传的对象不支持追加写操作。
  • 桶处于多版本开启状态时,仅允许追加上传当前版本对象,且不会为该对象生成历史版本。当使用 PutObject 覆盖对象或者 DeleteObject 操作对象时,会为该对象生成历史版本,但是历史版本不能被继续追加。
  • AppendObject 接口不支持使用服务端加密。
  • 如果您的对象类型为 Appendable Object,建议您不要并发执行 Append 操作,否则可能会导致执行失败。

请求消息样式

POST /objectName?append&offset=Offset HTTP/1.1
Host: bucketname.tos-cn-beijing.volces.com
Date: GMT Date
Authorization: authorization string

<append data>

请求参数和消息头

该请求使用的公共请求消息头,请参见公共参数

名称

位置

参数类型

是否必选

示例值

说明

append

Query

String

代表 AppendObject 请求的特殊标识。

offset

Query

Integer

0

指定从何处进行追加。追加成功后,响应消息中的 x-tos-next-append-offset 头域会带上下一次追加的 offset。

Content-Length

Header

Integer

100

消息体的大小。

Content-Type

Header

String

text/plain

对象类型。offset 参数为 0 时有效。

x-tos-acl

Header

String

private

对象的访问权限,有效的权限设置包括:

  • private:私有的。
  • public-read:公共读。
  • public-read-write:公共读写。
  • authenticated-read:认证用户读。
  • bucket-owner-read :桶所有者读。
  • bucket-owner-full-control:桶所有者完全权限。
  • bucket-owner-entrusted:受桶策略控制,桶所有者完全权限。
  • default:继承桶 ACL,即对象的 ACL 策略和桶 ACL 策略保持一致。

x-tos-grant-full-control

Header

String

id=123,id=456

创建对象时,使用此头域授权用户具有对象的读(READ)、读(READ) ACP、写(WRITE) ACP 的权限。格式:id=账号1,id=账号2。

x-tos-grant-read

Header

String

id=123,id=456

允许被授权者读取对象和对象元数据的权限。格式:id=账号1,id=账号2。

x-tos-grant-read-acp

Header

String

id=123,id=456

允许被授权者读取对象 ACL。格式:id=账号1,id=账号2。

x-tos-grant-write-acp

Header

String

id=123,id=456

允许被授权者修改对象 ACL。格式:id=账号1,id=账号2。

x-tos-meta-*

Header

String

x-tos-meta-key: value

创建对象时,可以在 HTTP 请求中加入以 x-tos-meta-开头的消息头,用来加入自定义的元数据,以便对对象进行自定义管理。当用户获取此对象或查询此对象元数据时,加入的自定义元数据将会在返回消息的头中出现。

x-tos-website-redirect-location

Header

String

/anotherObjectName

当桶设置了 Website 配置,可以将获取这个对象的请求重定向到桶内另一个对象或一个外部的 URL,TOS 将这个值从头域中取出,保存在对象的元数据中。

x-tos-storage-class

Header

String

STANDARD

设置目的对象的存储类型。如果未设置,则目的对象的存储类型,和所在桶的默认存储类型保持一致,取值说明如下:

  • STANDARD:标准存储。

    说明

    • 使用 AppendObject 接口上传对象时,仅支持设置对象为标准存储。
    • 如果您未设置该参数,且所在桶默认存储类型不是标准存储,则追加写对象会失败。

x-tos-traffic-limit

Header

String

819200

TOS 提供单链接限速功能,在上传、下载文件等操作中进行流控控制,以保证其他应用的网络带宽。取值说明如下:

  • 取值范围:245760-838860800,单位为bit/s
  • Header和Query中不能同时存在此参数

x-tos-traffic-limit

Query

String

819200

TOS 提供单链接限速功能,在上传、下载文件等操作中进行流控控制,以保证其他应用的网络带宽。取值说明如下:

  • 取值范围:245760-838860800,单位为bit/s
  • Header和Query中不能同时存在此参数

请求元素

该请求中无请求消息元素,请求体中带的是追加写对象的数据内容。

响应消息头

该请求返回的公共响应消息头,请参见公共参数

名称

参数类型

示例值

说明

x-tos-next-append-offset

Integer

100

下一次追加写对象的 offset。

x-tos-hash-crc64ecma

Integer

6186290338114851376

表示该对象的 64 位 CRC 值。该 64 位 CRC 根据 ECMA-182 标准计算得出。

说明

对 TOS 服务端支持 64 位 CRC 校验前追加写上传创建的对象,则该消息头不会出现在响应消息中。

x-tos-qos-delay-time

Integer

10

该头域表示请求被流控时长,单位为ms。上传类请求会返回精确的被流控的时长;copy类请求或者下载类请求会返回根据流控程度和文件大小估算出的被流控的时长。

响应元素

该请求响应中无消息元素。

请求示例

POST /objectName?append&offset=0 HTTP/1.1
Host: bucketname.tos-cn-beijing.volces.com
Date: Fri, 30 Jul 2021 08:05:36 GMT
Authorization: authorization string

响应示例

HTTP/1.1 200 OK
x-tos-id-2: 5726ce090a2d002d-a444ed0
x-tos-request-id: 5726ce090a2d002d-a444ed0
Date: Fri, 30 Jul 2021 08:05:36 GMT
server: TosServer
Content-Length: 0
x-tos-next-append-offset: 4379329
x-tos-hash-crc64ecma: 6186290338114851376