You need to enable JavaScript to run this app.
导航

AppendObject

最近更新时间2024.01.02 17:28:13

首次发布时间2021.10.13 16:14:08

功能描述

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

使用说明

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

  • 追加后的对象大小不能大于 5GB。
  • 通过 AppendObject 创建的对象,进行 PutObject 操作,对象被覆盖且对象类型由 Appendable 变为 Normal。反之通过 PutObject 上传的对象不支持追加写操作。
  • AppendObject 创建的对象默认不支持拷贝,如果需要拷贝,请提交工单联系技术支持。
  • 桶处于多版本开启状态时,仅允许追加上传当前版本对象,且不会为该对象生成历史版本。当使用 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:受桶策略控制,桶所有者完全权限。

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

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

x-tos-traffic-limit

Query

String

819200

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

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

请求元素

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

响应消息头

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

名称

参数类型

说明

x-tos-next-append-offset

Integer

下一次追加写对象的 offset。

x-tos-hash-crc64ecma

Integer

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

说明

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

响应元素

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

请求示例

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