You need to enable JavaScript to run this app.
导航
ListObjectVersions
最近更新时间:2024.09.18 18:52:32首次发布时间:2021.10.18 19:32:24

功能描述

该接口用于列举桶中的多版本对象。要调用此接口,您需要拥有对桶的读访问权限。每次请求返回桶的部分多版本对象(单次请求最多 1000 个),可以使用请求参数作为选择标准来返回桶中对象的子集。

请求消息样式

GET /?versions HTTP/1.1
Host: bucketname.tos-cn-beijing.volces.com
Date: GMT Date
Authorization: authorization string

请求参数和消息头

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

名称

位置

参数类型

是否必选

示例值

说明

versions

Query

String

-

代表 ListObjectVersions 请求的特殊标识。

delimiter

Query

String

-

对对象名进行分组的字符。通常使用 / 作为分组字符。

encoding-type

Query

String

url

指定对返回的内容进行编码的编码类型,取值说明如下:

  • url:进行 URLEncode,遵循 application/x-www-form-urlencoded 标准。

max-keys

Query

Integer

100

返回多版本对象的最大数量。最大值为 1000,即一次请求最多返回 1000 个多版本对象。

prefix

Query

String

aaa

列举指定前缀的多版本对象。

key-marker

Query

String

test.txt

列举多版本对象时的起始位置。设定从该值之后按字母排序返回多版本对象列表。通常为上次请求返回体的 NextKeyMarker 值。

version-id-marker

Query

String

123

本参数只适用于多版本列举场景与请求中的 key-marker 配合使用,设定从该值之后按字母排序返回多版本对象列表。 如果 version-id-marker不是 key-marker 对应的一个版本号,则该参数无效。通常为上次请求返回体的 NextVersionIdMarker 值。

请求元素

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

响应消息头

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

响应元素

名称

参数类型

示例值

说明

Name

String

test-bucket

桶名。

KeyMarker

String

abc

请求中带入的 key-marker 参数。

VersionIdMarker

String

57AF1A32CECB56721267

请求中带入的 version-id-marker 参数。

MaxKeys

Integer

100

请求中带入的 max-keys 参数。

Prefix

String

abc

请求中带入的 prefix 参数。

Delimiter

String

d

请求中带入的 delimiter 参数。

EncodingType

String

url

请求中带入的 encoding-type 参数。

IsTruncated

Bool

true

返回的结果是否被截断,说明如下:

  • false:已返回全部结果。
  • true:还有结果未返回。

NextKeyMarker

String

abcd

如果结果未完全返回,标识下次请求的 key-marker 值。

NextVersionIdMarker

String

26AG6A32CECA56721238

如果结果未完全返回,标识下次请求的 version-id-marker 值。

CommonPrefixes

Array

[{"Prefix": "abcd"}]

请求中带 delimiter 参数时,返回的响应中包含 CommonPrefixes 分组信息。该元素标识以delimiter 结尾,并有共同前缀的对象名称的集合。

DeleteMarkers

Array

-

删除标记信息的根节点。

Versions

Array

-

多版本对象信息的根节点。

Key

String

abcde

多版本对象名或删除标记名。父节点为 Versions 或 DeleteMarkers。

LastModified

String

2024-06-06T07:15:20.000Z

多版本对象或删除标记的最后修改时间。父节点为 Versions 或 DeleteMarkers。

IsLatest

Bool

true

是否最新版本,说明如下:

  • false:不是最新版本。
  • true:是最新版本。

父节点为 Versions 或 DeleteMarkers。

VersionId

String

19EA1B32CEEB56721221

多版本对象或删除标记的版本号。父节点为 Versions 或 DeleteMarkers。

ETag

String

"32185e15494ca8e0eedf12bd218787f6"

在创建每个多版本对象的时候生成,唯一标识一个对象的内容。父节点为 Versions。

Size

Integer

4813

多版本对象大小。父节点为 Versions。

StorageClass

String

STANDARD

多版本对象存储类型,取值说明如下:

  • STANDARD:标准存储。
  • IA:低频访问存储。
  • INTELLIGENT_TIERING:智能分层存储。
  • ARCHIVE_FR:归档闪回存储。
  • ARCHIVE:归档存储。
  • COLD_ARCHIVE:冷归档存储。
  • DEEP_COLD_ARCHIVE:深度冷归档存储。

父节点为 Versions。

Type

String

Appendable

当对象为非 Normal 对象时会返回该元素,取值说明如下:

  • Appendable:该对象为追加写接口上传的对象。
  • Symlink:该对象为软链接对象。

父节点为 Versions。

HashCrc64ecma

String

2217460101204276403

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

说明

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

父节点为 Versions。

Owner

Object

-

多版本对象所有者。父节点为 Versions。

ID

String

1234567890

账号 ID。父节点为 Owner。

DisplayName

String

test-owner-name

账号名。父节点为 Owner。

请求示例

GET /?versions 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: dc13a2093af10012-a444ed0
x-tos-request-id: dc13a2093af10012-a444ed0
Date: Fri, 30 Jul 2021 08:05:36 GMT
server: TosServer
Content-Length: 874

{
    "Name": "bucketName",
    "Prefix": "",
    "KeyMarker": "",
    "VersionIdMarker": "",
    "MaxKeys": 1000,
    "IsTruncated": false,
    "Versions": [
        {
            "ETag": "\"8a36be0d764367db4eea2deb16b71543\"",
            "IsLatest": true,
            "Key": "obj1",
            "LastModified": "2021-08-20T03:40:54.000Z",
            "Owner": {
                "ID": "AccountID",
                "DisplayName": "DisplayName"
            },
            "Size": 109,
            "StorageClass": "STANDARD",
            "VersionId": "5840E600C6FBD446792D"
        },
        {
            "ETag": "\"8a36be0d764367db4eea2deb16b71543\"",
            "IsLatest": false,
            "Key": "obj1",
            "LastModified": "2021-08-20T03:10:02.000Z",
            "Owner": {
                "ID": "AccountID",
                "DisplayName": "DisplayName"
            },
            "Size": 109,
            "StorageClass": "STANDARD",
            "VersionId": "5840E7AFE74C1A18232F"
        }
    ],
    "DeleteMarkers": [
        {
            "IsLatest": false,
            "Key": "obj1",
            "LastModified": "2021-08-20T03:40:22.000Z",
            "Owner": {
                "ID": "AccountID",
                "DisplayName": "DisplayName"
            },
            "VersionId": "5840E60831A5DBABA376"
        }
    ]
}