该接口用于列举桶中的多版本对象。要调用此接口,您需要拥有对桶的读访问权限。每次请求返回桶的部分多版本对象(单次请求最多 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 | 指定对返回的内容进行编码的编码类型,取值说明如下:
|
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 | 返回的结果是否被截断,说明如下:
|
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 | 是否最新版本,说明如下:
父节点为 Versions 或 DeleteMarkers。 |
VersionId | String | 19EA1B32CEEB56721221 | 多版本对象或删除标记的版本号。父节点为 Versions 或 DeleteMarkers。 |
ETag | String | "32185e15494ca8e0eedf12bd218787f6" | 在创建每个多版本对象的时候生成,唯一标识一个对象的内容。父节点为 Versions。 |
Size | Integer | 4813 | 多版本对象大小。父节点为 Versions。 |
StorageClass | String | STANDARD | 多版本对象存储类型,取值说明如下:
父节点为 Versions。 |
Type | String | Appendable | 当对象为非 Normal 对象时会返回该元素,取值说明如下:
父节点为 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"
}
]
}