该接口用于列举桶中的多版本对象。要调用此接口,您需要拥有对桶的读访问权限。每次请求返回桶的部分多版本对象(单次请求最多 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" } ] }