功能描述
GET Bucket Object versions 接口用于拉取存储桶内的所有对象及其历史版本信息,您可以通过指定参数筛选出存储桶内部分对象及其历史版本信息。该 API 的请求者需要对存储桶有读取权限。
授权说明
授权策略中 action 设置为 cos:GetBucketObjectVersions 。查看所有 action。
请求
请求示例
GET /?versions HTTP/1.1Host: <BucketName-APPID>.cos.<Region>.myqcloud.comDate: GMT DateAuthorization: Auth String
说明Host: .cos..myqcloud.com,其中 为带 APPID 后缀的存储桶名字,例如 examplebucket-1250000000,可参阅 存储桶概览 > 基本信息 和 存储桶概述 > 存储桶命名规范 文档; 为 COS 的可用地域,可参阅 地域和访问域名 文档。Authorization: Auth String(详情请参见 请求签名 文档)。
请求参数
名称 | 描述 | 类型 | 是否必选 |
prefix | 对象键匹配前缀,限定响应中只包含指定前缀的对象键。 | string | 否 |
delimiter | 一个字符的分隔符,用于对对象键进行分组。所有对象键中从 prefix 或从头(如未指定 prefix)到首个 delimiter 之间相同的部分将作为 CommonPrefixes 下的一个 Prefix 节点。被分组的对象键不再出现在后续对象列表中,具体场景和用法可参考下面的实际案例。 | string | 否 |
encoding-type | 规定返回值的编码方式,可选值:url,代表返回的对象键为 URL 编码(百分号编码)后的值,例如“腾讯云”将被编码为%E8%85%BE%E8%AE%AF%E4%BA%91 。 |
string | 否 |
key-marker | 起始对象键标记,从该标记之后(不含)按照 UTF-8 字典序返回对象版本条目。 | string | 否 |
version-id-marker | 起始版本 ID 标记,从该标记之后(不含)返回对象版本条目,如果上一次 List 结果的 NextVersionIdMarker 为空,则该参数也指定为空。 | string | 否 |
max-keys | 单次返回最大的条目数量,默认值为1000,最大为1000。注意:该参数会限制每一次 List 操作返回的最大条目数,COS 在每次 List 操作中将返回不超过 max-keys 所设定数值的条目(CommonPrefixes、Version 和 DeleteMarker 合计),如果单次响应中未列出所有对象,COS 会返回 NextKeyMarker 和 NextVersionIdMarker 节点,其值分别为您下次 List 请求的 key-marker 和 version-id-marker 参数,以便您列出后续版本。 | integer | 否 |
请求头
此接口仅使用公共请求头部,详情请参见 公共请求头部 文档。
请求体
此接口无请求体。
响应
响应头
此接口仅返回公共响应头部,详情请参见 公共响应头部 文档。
响应体
查询成功,返回 application/xml 数据,包含存储桶中的对象版本信息。不同场景下的响应体请参见下方的实际案例。
string string string string string integer boolean string string string string string string string boolean date string integer Enum Enum string string string string boolean date string string string string boolean date string integer Enum Enum string string string string boolean date string string
具体的节点描述如下:
节点名称(关键字) | 父节点 | 描述 | 类型 |
ListVersionsResult | 无 | 保存 GET Bucket Object versions 结果的所有信息 | Container |
Container 节点 ListVersionsResult 的内容:
节点名称(关键字) | 父节点 | 描述 | 类型 |
EncodingType | ListVersionsResult | 编码格式,对应请求中的 encoding-type 参数,且仅当请求中指定了 encoding-type 参数才会返回该节点 | string |
Name | ListVersionsResult | 存储桶的名称,格式为 ,例如examplebucket-1250000000 |
string |
Prefix | ListVersionsResult | 对象键匹配前缀,对应请求中的 prefix 参数 | string |
KeyMarker | ListVersionsResult | 起始对象键标记,从该标记之后(不含)按照 UTF-8 字典序返回对象版本条目,对应请求中的 key-marker 参数 | string |
VersionIdMarker | ListVersionsResult | 起始版本 ID 标记,从该标记之后(不含)返回对象版本条目,对应请求中的 version-id-marker 参数 | string |
MaxKeys | ListVersionsResult | 单次响应返回结果的最大条目数量,对应请求中的 max-keys 参数 | integer |
IsTruncated | ListVersionsResult | 响应条目是否被截断,布尔值,例如 true 或 false | boolean |
NextKeyMarker | ListVersionsResult | 仅当响应条目有截断(IsTruncated 为 true)才会返回该节点,该节点的值为当前响应条目中的最后一个对象键,当需要继续请求后续条目时,将该节点的值作为下一次请求的 key-marker 参数传入 | string |
NextVersionIdMarker | ListVersionsResult | 仅当响应条目有截断(IsTruncated 为 true)才会返回该节点,该节点的值为当前响应条目中的最后一个对象的版本 ID,当需要继续请求后续条目时,将该节点的值作为下一次请求的 version-id-marker 参数传入。该节点的值可能为空,此时下一次请求的 version-id-marker 参数也需要指定为空。 | string |
Delimiter | ListVersionsResult | 分隔符,对应请求中的 delimiter 参数,且仅当请求中指定了 delimiter 参数才会返回该节点 | string |
CommonPrefixes | ListVersionsResult | 从 prefix 或从头(如未指定 prefix)到首个 delimiter 之间相同的部分,定义为 Common Prefix。仅当请求中指定了 delimiter 参数才有可能返回该节点 | Container |
Version | ListVersionsResult | 对象版本条目 | Container |
DeleteMarker | ListVersionsResult | 对象删除标记条目 | Container |
Container 节点 CommonPrefixes 的内容:
节点名称(关键字) | 父节点 | 描述 | 类型 |
Prefix | ListVersionsResult.CommonPrefixes | 单条 Common Prefix 的前缀 | string |
Container 节点 Version 的内容:
节点名称(关键字) | 父节点 | 描述 | 类型 |
Key | ListVersionsResult.Version | 对象键 | string |
VersionId | ListVersionsResult.Version | 对象的版本 ID当未启用版本控制时,该节点的值为空字符串当启用版本控制时,启用版本控制之前的对象,其版本 ID 为 null当暂停版本控制时,新上传的对象其版本 ID 为 null,且同一个对象最多只存在一个版本 ID 为 null 的对象版本 | string |
IsLatest | ListVersionsResult.Version | 当前版本是否为该对象的最新版本 | boolean |
LastModified | ListVersionsResult.Version | 当前版本的最后修改时间,为 ISO8601 格式,例如2019-05-24T10:56:40Z | date |
ETag | ListVersionsResult.Version | 对象的实体标签(Entity Tag),是对象被创建时标识对象内容的信息标签,可用于检查对象的内容是否发生变化例如”8e0b617ca298a564c3331da28dcb50df”。此头部并不一定返回对象的 MD5 值,而是根据对象上传和加密方式而有所不同 | string |
Size | ListVersionsResult.Version | 对象大小,单位为 Byte | integer |
StorageClass | ListVersionsResult.Version | 对象存储类型。枚举值请参见 存储类型 文档,例如 STANDARD_IA,ARCHIVE | Enum |
StorageTier | ListVersionsResult.Version | 当对象存储类型为智能分层存储时,指示对象当前所处的存储层,枚举值:FREQUENT(标准层),INFREQUENT(低频层)。仅当 StorageClass 为 INTELLIGENT_TIERING(智能分层)时才会返回该节点 | Enum |
Owner | ListVersionsResult.Version | 对象持有者信息 | Container |
Container 节点 Version.Owner 的内容:
节点名称(关键字) | 父节点 | 描述 | 类型 |
ID | ListVersionsResult.Version.Owner | 对象持有者的 APPID | string |
DisplayName | ListVersionsResult.Version.Owner | 对象持有者的名称 | string |
Container 节点 DeleteMarker 的内容:
节点名称(关键字) | 父节点 | 描述 | 类型 |
Key | ListVersionsResult.DeleteMarker | 对象键 | string |
VersionId | ListVersionsResult.DeleteMarker | 对象的删除标记的版本 ID | string |
IsLatest | ListVersionsResult.DeleteMarker | 当前删除标记是否为该对象的最新版本 | boolean |
LastModified | ListVersionsResult.DeleteMarker | 当前删除标记的删除时间,为 ISO8601 格式,例如2019-05-24T10:56:40Z | date |
Owner | ListVersionsResult.DeleteMarker | 对象持有者信息 | Container |
Container 节点 DeleteMarker.Owner 的内容:
节点名称(关键字) | 父节点 | 描述 | 类型 |
ID | ListVersionsResult.DeleteMarker.Owner | 对象持有者的 APPID | string |
DisplayName | ListVersionsResult.DeleteMarker.Owner | 对象持有者的名称 | string |
错误码
此接口遵循统一的错误响应和错误码,详情请参见 错误码 文档。
实际案例
案例一:未启用版本控制
请求
GET /?versions HTTP/1.1Host: examplebucket-1250000000.cos.ap-beijing.myqcloud.comDate: Thu, 10 Dec 2020 03:35:34 GMTAuthorization: q-sign-algorithm=sha1&q-ak=AKID8A0fBVtYFrNm02oY1g1JQQF0c3JO****&q-sign-time=1607571334;1607578534&q-key-time=1607571334;1607578534&q-header-list=date;host&q-url-param-list=versions&q-signature=1c39a124c84ec844e56cb1031a511568c16f****Connection: close
响应
HTTP/1.1 200 OKContent-Type: application/xmlContent-Length: 952Connection: closeDate: Thu, 10 Dec 2020 03:35:34 GMTServer: tencent-cosx-cos-request-id: NWZkMTk3ODZfZDUyNzVkNjRfNDgxYl8xNjU5****
<ListVersionsResult> <Name>examplebucket-1250000000</Name> <Prefix/> <KeyMarker/> <VersionIdMarker/> <MaxKeys>1000</MaxKeys> <IsTruncated>false</IsTruncated> <Version> <Key>example-object-1.jpg</Key> <VersionId/> <IsLatest>true</IsLatest> <LastModified>2020-12-10T03:35:24.000Z</LastModified> <ETag>"0f0cd12c48979d1bf3f95255a36cb861"</ETag> <Size>20</Size> <StorageClass>STANDARD</StorageClass> <Owner> <ID>1250000000</ID> <DisplayName>1250000000</DisplayName> </Owner> </Version> <Version> <Key>example-object-2.jpg</Key> <VersionId/> <IsLatest>true</IsLatest> <LastModified>2020-12-10T03:35:24.000Z</LastModified> <ETag>"dcffaafe67632b2bd2dd0b9456eafca7"</ETag> <Size>23</Size> <StorageClass>INTELLIGENT_TIERING</StorageClass> <StorageTier>FREQUENT</StorageTier> <Owner> <ID>1250000000</ID> <DisplayName>1250000000</DisplayName> </Owner> </Version></ListVersionsResult>
案例二:启用版本控制(续接案例一,在启用版本控制前上传的对象,其版本 ID 为 null)
请求
GET /?versions HTTP/1.1Host: examplebucket-1250000000.cos.ap-beijing.myqcloud.comDate: Thu, 10 Dec 2020 03:36:05 GMTAuthorization: q-sign-algorithm=sha1&q-ak=AKID8A0fBVtYFrNm02oY1g1JQQF0c3JO****&q-sign-time=1607571365;1607578565&q-key-time=1607571365;1607578565&q-header-list=date;host&q-url-param-list=versions&q-signature=569318dd515c682db22c704d61314156e790****Connection: close
响应
HTTP/1.1 200 OKContent-Type: application/xmlContent-Length: 2070Connection: closeDate: Thu, 10 Dec 2020 03:36:05 GMTServer: tencent-cosx-cos-request-id: NWZkMTk3YTVfYjFiODJhMDlfNTg0MDZfMTdj****
<ListVersionsResult> <Name>examplebucket-1250000000</Name> <Prefix/> <KeyMarker/> <VersionIdMarker/> <MaxKeys>1000</MaxKeys> <IsTruncated>false</IsTruncated> <Version> <Key>example-object-1.jpg</Key> <VersionId>null</VersionId> <IsLatest>true</IsLatest> <LastModified>2020-12-10T03:35:24.000Z</LastModified> <ETag>"0f0cd12c48979d1bf3f95255a36cb861"</ETag> <Size>20</Size> <StorageClass>STANDARD</StorageClass> <Owner> <ID>1250000000</ID> <DisplayName>1250000000</DisplayName> </Owner> </Version> <Version> <Key>example-object-2.jpg</Key> <VersionId>MTg0NDUxMzY1MDIzNjQ3NTcwMDk</VersionId> <IsLatest>true</IsLatest> <LastModified>2020-12-10T03:35:44.000Z</LastModified> <ETag>"51ffadb19b3bf062ecd0c6f044a4d4ce"</ETag> <Size>23</Size> <StorageClass>STANDARD_IA</StorageClass> <Owner> <ID>1250000000</ID> <DisplayName>1250000000</DisplayName> </Owner> </Version> <Version> <Key>example-object-2.jpg</Key> <VersionId>null</VersionId> <IsLatest>false</IsLatest> <LastModified>2020-12-10T03:35:24.000Z</LastModified> <ETag>"dcffaafe67632b2bd2dd0b9456eafca7"</ETag> <Size>23</Size> <StorageClass>INTELLIGENT_TIERING</StorageClass> <StorageTier>FREQUENT</StorageTier> <Owner> <ID>1250000000</ID> <DisplayName>1250000000</DisplayName> </Owner> </Version> <DeleteMarker> <Key>example-object-3.jpg</Key> <VersionId>MTg0NDUxMzY1MDIzNTQ1ODM2NjE</VersionId> <IsLatest>true</IsLatest> <LastModified>2020-12-10T03:35:54.000Z</LastModified> <Owner> <ID>1250000000</ID> <DisplayName>1250000000</DisplayName> </Owner> </DeleteMarker> <Version> <Key>example-object-3.jpg</Key> <VersionId>MTg0NDUxMzY1MDIzNjQ3NjM2MDY</VersionId> <IsLatest>false</IsLatest> <LastModified>2020-12-10T03:35:44.000Z</LastModified> <ETag>"b2f1d893c5fde000ee8ea6eca18ed81f"</ETag> <Size>20</Size> <StorageClass>STANDARD</StorageClass> <Owner> <ID>1250000000</ID> <DisplayName>1250000000</DisplayName> </Owner> </Version></ListVersionsResult>
案例三:暂停版本控制(续接案例二,暂停版本控制后新上传的对象其版本 ID 为 null,且同一个对象最多只存在一个版本 ID 为 null 的对象版本)
请求
GET /?versions HTTP/1.1Host: examplebucket-1250000000.cos.ap-beijing.myqcloud.comDate: Thu, 10 Dec 2020 03:36:25 GMTAuthorization: q-sign-algorithm=sha1&q-ak=AKID8A0fBVtYFrNm02oY1g1JQQF0c3JO****&q-sign-time=1607571385;1607578585&q-key-time=1607571385;1607578585&q-header-list=date;host&q-url-param-list=versions&q-signature=a42ed543ef094e42c8159d8788c509933f20****Connection: close
响应
HTTP/1.1 200 OKContent-Type: application/xmlContent-Length: 2396Connection: closeDate: Thu, 10 Dec 2020 03:36:25 GMTServer: tencent-cosx-cos-request-id: NWZkMTk3YjlfNDhhOTBiMDlfMTYzNTZfMTIw****
<ListVersionsResult> <Name>examplebucket-1250000000</Name> <Prefix/> <KeyMarker/> <VersionIdMarker/> <MaxKeys>1000</MaxKeys> <IsTruncated>false</IsTruncated> <Version> <Key>example-object-1.jpg</Key> <VersionId>null</VersionId> <IsLatest>true</IsLatest> <LastModified>2020-12-10T03:35:24.000Z</LastModified> <ETag>"0f0cd12c48979d1bf3f95255a36cb861"</ETag> <Size>20</Size> <StorageClass>STANDARD</StorageClass> <Owner> <ID>1250000000</ID> <DisplayName>1250000000</DisplayName> </Owner> </Version> <Version> <Key>example-object-2.jpg</Key> <VersionId>null</VersionId> <IsLatest>true</IsLatest> <LastModified>2020-12-10T03:36:15.000Z</LastModified> <ETag>"51ffadb19b3bf062ecd0c6f044a4d4ce"</ETag> <Size>23</Size> <StorageClass>STANDARD</StorageClass> <Owner> <ID>1250000000</ID> <DisplayName>1250000000</DisplayName> </Owner> </Version> <Version> <Key>example-object-2.jpg</Key> <VersionId>MTg0NDUxMzY1MDIzNjQ3NTcwMDk</VersionId> <IsLatest>false</IsLatest> <LastModified>2020-12-10T03:35:44.000Z</LastModified> <ETag>"51ffadb19b3bf062ecd0c6f044a4d4ce"</ETag> <Size>23</Size> <StorageClass>STANDARD_IA</StorageClass> <Owner> <ID>1250000000</ID> <DisplayName>1250000000</DisplayName> </Owner> </Version> <Version> <Key>example-object-3.jpg</Key> <VersionId>null</VersionId> <IsLatest>true</IsLatest> <LastModified>2020-12-10T03:36:15.000Z</LastModified> <ETag>"b2f1d893c5fde000ee8ea6eca18ed81f"</ETag> <Size>20</Size> <StorageClass>STANDARD</StorageClass> <Owner> <ID>1250000000</ID> <DisplayName>1250000000</DisplayName> </Owner> </Version> <DeleteMarker> <Key>example-object-3.jpg</Key> <VersionId>MTg0NDUxMzY1MDIzNTQ1ODM2NjE</VersionId> <IsLatest>false</IsLatest> <LastModified>2020-12-10T03:35:54.000Z</LastModified> <Owner> <ID>1250000000</ID> <DisplayName>1250000000</DisplayName> </Owner> </DeleteMarker> <Version> <Key>example-object-3.jpg</Key> <VersionId>MTg0NDUxMzY1MDIzNjQ3NjM2MDY</VersionId> <IsLatest>false</IsLatest> <LastModified>2020-12-10T03:35:44.000Z</LastModified> <ETag>"b2f1d893c5fde000ee8ea6eca18ed81f"</ETag> <Size>20</Size> <StorageClass>STANDARD</StorageClass> <Owner> <ID>1250000000</ID> <DisplayName>1250000000</DisplayName> </Owner> </Version></ListVersionsResult>
案例四:带 encoding-type 参数(对象键使用 URL 编码)
请求
GET /?versions&encoding-type=url HTTP/1.1Host: examplebucket-1250000000.cos.ap-beijing.myqcloud.comDate: Thu, 10 Dec 2020 04:54:22 GMTAuthorization: q-sign-algorithm=sha1&q-ak=AKID8A0fBVtYFrNm02oY1g1JQQF0c3JO****&q-sign-time=1607576062;1607583262&q-key-time=1607576062;1607583262&q-header-list=date;host&q-url-param-list=encoding-type;versions&q-signature=9dd5519032837d42fd3bf89fcdeed3889e7c****Connection: close
响应
HTTP/1.1 200 OKContent-Type: application/xmlContent-Length: 2167Connection: closeDate: Thu, 10 Dec 2020 04:54:22 GMTServer: tencent-cosx-cos-request-id: NWZkMWE5ZmVfZTdjODJhMDlfMzgxZl8xMzQ1****
<ListVersionsResult> <EncodingType>url</EncodingType> <Name>examplebucket-1250000000</Name> <Prefix/> <KeyMarker/> <VersionIdMarker/> <MaxKeys>1000</MaxKeys> <IsTruncated>false</IsTruncated> <Version> <Key>Tencent%20Cloud.jpg</Key> <VersionId>MTg0NDUxMzY0OTc2NjcxNzE4NjA</VersionId> <IsLatest>true</IsLatest> <LastModified>2020-12-10T04:54:02.000Z</LastModified> <ETag>"ee8de918d05640145b18f70f4c3aa602"</ETag> <Size>16</Size> <StorageClass>STANDARD</StorageClass> <Owner> <ID>1250000000</ID> <DisplayName>1250000000</DisplayName> </Owner> </Version> <DeleteMarker> <Key>%E7%85%A7%E7%89%87/2020%E5%B9%B4/IMG0001.jpg</Key> <VersionId>MTg0NDUxMzY0OTc2NTY5MDU3OTc</VersionId> <IsLatest>true</IsLatest> <LastModified>2020-12-10T04:54:12.000Z</LastModified> <Owner> <ID>1250000000</ID> <DisplayName>1250000000</DisplayName> </Owner> </DeleteMarker> <Version> <Key>%E7%85%A7%E7%89%87/2020%E5%B9%B4/IMG0001.jpg</Key> <VersionId>MTg0NDUxMzY0OTc2NjcwNjMwMDQ</VersionId> <IsLatest>false</IsLatest> <LastModified>2020-12-10T04:54:02.000Z</LastModified> <ETag>"ee8de918d05640145b18f70f4c3aa602"</ETag> <Size>16</Size> <StorageClass>STANDARD</StorageClass> <Owner> <ID>1250000000</ID> <DisplayName>1250000000</DisplayName> </Owner> </Version> <Version> <Key>%E8%85%BE%E8%AE%AF%E4%BA%91.jpg</Key> <VersionId>MTg0NDUxMzY0OTc2NTY5MDA4NzU</VersionId> <IsLatest>true</IsLatest> <LastModified>2020-12-10T04:54:12.000Z</LastModified> <ETag>"8bb76a43f75d3b96442c470f8ec23b89"</ETag> <Size>16</Size> <StorageClass>STANDARD</StorageClass> <Owner> <ID>1250000000</ID> <DisplayName>1250000000</DisplayName> </Owner> </Version> <Version> <Key>%E8%85%BE%E8%AE%AF%E4%BA%91.jpg</Key> <VersionId>MTg0NDUxMzY0OTc2NjcxNzA2ODg</VersionId> <IsLatest>false</IsLatest> <LastModified>2020-12-10T04:54:02.000Z</LastModified> <ETag>"dcc880c5eba9e002bc4567c733b0e63e"</ETag> <Size>13</Size> <StorageClass>STANDARD</StorageClass> <Owner> <ID>1250000000</ID> <DisplayName>1250000000</DisplayName> </Owner> </Version></ListVersionsResult>
案例五:带 delimiter 参数(列出根目录下的对象版本和子目录)
请求
GET /?versions&delimiter=%2F HTTP/1.1Host: examplebucket-1250000000.cos.ap-beijing.myqcloud.comDate: Thu, 10 Dec 2020 07:04:03 GMTAuthorization: q-sign-algorithm=sha1&q-ak=AKID8A0fBVtYFrNm02oY1g1JQQF0c3JO****&q-sign-time=1607583843;1607591043&q-key-time=1607583843;1607591043&q-header-list=date;host&q-url-param-list=delimiter;versions&q-signature=9eaea1e6072c7175cb593e08b69223521217****Connection: close
响应
HTTP/1.1 200 OKContent-Type: application/xmlContent-Length: 1893Connection: closeDate: Thu, 10 Dec 2020 07:04:03 GMTServer: tencent-cosx-cos-request-id: NWZkMWM4NjNfNzFjODJhMDlfMjlhZTRfMTg5****
<ListVersionsResult> <Name>examplebucket-1250000000</Name> <Prefix/> <KeyMarker/> <VersionIdMarker/> <MaxKeys>1000</MaxKeys> <IsTruncated>false</IsTruncated> <Delimiter>/</Delimiter> <CommonPrefixes> <Prefix>example-folder-1/</Prefix> </CommonPrefixes> <CommonPrefixes> <Prefix>example-folder-2/</Prefix> </CommonPrefixes> <DeleteMarker> <Key>example-object-1.jpg</Key> <VersionId>MTg0NDUxMzY0ODk4NzYzNTE4Nzk</VersionId> <IsLatest>true</IsLatest> <LastModified>2020-12-10T07:03:53.000Z</LastModified> <Owner> <ID>1250000000</ID> <DisplayName>1250000000</DisplayName> </Owner> </DeleteMarker> <Version> <Key>example-object-1.jpg</Key> <VersionId>MTg0NDUxMzY0ODk4ODY2NTcxMzY</VersionId> <IsLatest>false</IsLatest> <LastModified>2020-12-10T07:03:42.000Z</LastModified> <ETag>"0f0cd12c48979d1bf3f95255a36cb861"</ETag> <Size>20</Size> <StorageClass>STANDARD</StorageClass> <Owner> <ID>1250000000</ID> <DisplayName>1250000000</DisplayName> </Owner> </Version> <Version> <Key>example-object-2.jpg</Key> <VersionId>MTg0NDUxMzY0ODk4NzYzODYyODA</VersionId> <IsLatest>true</IsLatest> <LastModified>2020-12-10T07:03:53.000Z</LastModified> <ETag>"51ffadb19b3bf062ecd0c6f044a4d4ce"</ETag> <Size>23</Size> <StorageClass>INTELLIGENT_TIERING</StorageClass> <StorageTier>FREQUENT</StorageTier> <Owner> <ID>1250000000</ID> <DisplayName>1250000000</DisplayName> </Owner> </Version> <Version> <Key>example-object-2.jpg</Key> <VersionId>MTg0NDUxMzY0ODk4ODY2NTA0Mjk</VersionId> <IsLatest>false</IsLatest> <LastModified>2020-12-10T07:03:42.000Z</LastModified> <ETag>"dcffaafe67632b2bd2dd0b9456eafca7"</ETag> <Size>23</Size> <StorageClass>STANDARD_IA</StorageClass> <Owner> <ID>1250000000</ID> <DisplayName>1250000000</DisplayName> </Owner> </Version></ListVersionsResult>
案例六:带 prefix 和 delimiter 参数(列出指定子目录下的对象版本和子目录)
请求
GET /?versions&prefix=example-folder-1%2F&delimiter=%2F HTTP/1.1Host: examplebucket-1250000000.cos.ap-beijing.myqcloud.comDate: Thu, 10 Dec 2020 07:04:03 GMTAuthorization: q-sign-algorithm=sha1&q-ak=AKID8A0fBVtYFrNm02oY1g1JQQF0c3JO****&q-sign-time=1607583843;1607591043&q-key-time=1607583843;1607591043&q-header-list=date;host&q-url-param-list=delimiter;prefix;versions&q-signature=c09ffca0377304f9a12cb2d8e223ede35569****Connection: close
响应
HTTP/1.1 200 OKContent-Type: application/xmlContent-Length: 1960Connection: closeDate: Thu, 10 Dec 2020 07:04:03 GMTServer: tencent-cosx-cos-request-id: NWZkMWM4NjNfZWVjODJhMDlfNTNmN18xNWNj****
<ListVersionsResult> <Name>examplebucket-1250000000</Name> <Prefix>example-folder-1/</Prefix> <KeyMarker/> <VersionIdMarker/> <MaxKeys>1000</MaxKeys> <IsTruncated>false</IsTruncated> <Delimiter>/</Delimiter> <CommonPrefixes> <Prefix>example-folder-1/sub-folder-1/</Prefix> </CommonPrefixes> <CommonPrefixes> <Prefix>example-folder-1/sub-folder-2/</Prefix> </CommonPrefixes> <DeleteMarker> <Key>example-folder-1/example-object-1.jpg</Key> <VersionId>MTg0NDUxMzY0ODk4NzYzNjE4NzA</VersionId> <IsLatest>true</IsLatest> <LastModified>2020-12-10T07:03:53.000Z</LastModified> <Owner> <ID>1250000000</ID> <DisplayName>1250000000</DisplayName> </Owner> </DeleteMarker> <Version> <Key>example-folder-1/example-object-1.jpg</Key> <VersionId>MTg0NDUxMzY0ODk4ODY2NTAzOTY</VersionId> <IsLatest>false</IsLatest> <LastModified>2020-12-10T07:03:42.000Z</LastModified> <ETag>"f173c1199e3d3b53dd91223cae16fb42"</ETag> <Size>37</Size> <StorageClass>STANDARD</StorageClass> <Owner> <ID>1250000000</ID> <DisplayName>1250000000</DisplayName> </Owner> </Version> <Version> <Key>example-folder-1/example-object-2.jpg</Key> <VersionId>MTg0NDUxMzY0ODk4NzYzNzc2ODY</VersionId> <IsLatest>true</IsLatest> <LastModified>2020-12-10T07:03:53.000Z</LastModified> <ETag>"f52cc0bc2042d201b852385927bcab95"</ETag> <Size>40</Size> <StorageClass>STANDARD</StorageClass> <Owner> <ID>1250000000</ID> <DisplayName>1250000000</DisplayName> </Owner> </Version> <Version> <Key>example-folder-1/example-object-2.jpg</Key> <VersionId>MTg0NDUxMzY0ODk4ODY2NjQ2NDc</VersionId> <IsLatest>false</IsLatest> <LastModified>2020-12-10T07:03:42.000Z</LastModified> <ETag>"7b3be6c39746a970d628e6ab9f250342"</ETag> <Size>40</Size> <StorageClass>STANDARD</StorageClass> <Owner> <ID>1250000000</ID> <DisplayName>1250000000</DisplayName> </Owner> </Version></ListVersionsResult>
案例七:需分页时获取第一页(案例中限制了 max-keys,如不限制则默认为 1000,Version 与 DeleteMarker 合计条目数不超过 max-keys 指定的值)
请求
GET /?versions&max-keys=3 HTTP/1.1Host: examplebucket-1250000000.cos.ap-beijing.myqcloud.comDate: Tue, 08 Dec 2020 12:46:40 GMTAuthorization: q-sign-algorithm=sha1&q-ak=AKID8A0fBVtYFrNm02oY1g1JQQF0c3JO****&q-sign-time=1607431600;1607438800&q-key-time=1607431600;1607438800&q-header-list=date;host&q-url-param-list=max-keys;versions&q-signature=eddd43e98a9001e92f52896de6f8ce88bff5****Connection: close
响应
HTTP/1.1 200 OKContent-Type: application/xmlContent-Length: 1390Connection: closeDate: Tue, 08 Dec 2020 12:46:40 GMTServer: tencent-cosx-cos-request-id: NWZjZjc1YjBfYjBhODBiMDlfZDU5Yl9jYjBl****
<ListVersionsResult> <Name>examplebucket-1250000000</Name> <Prefix/> <KeyMarker/> <VersionIdMarker/> <MaxKeys>3</MaxKeys> <IsTruncated>true</IsTruncated> <NextKeyMarker>example-object-2.jpg</NextKeyMarker> <NextVersionIdMarker>MTg0NDUxMzY2NDIxMjk3MzMwOTM</NextVersionIdMarker> <Version> <Key>example-object-1.jpg</Key> <VersionId>MTg0NDUxMzY2NDIxNTAwOTk4NzA</VersionId> <IsLatest>true</IsLatest> <LastModified>2020-12-08T12:45:59.000Z</LastModified> <ETag>"15f0f671f04af108023b5603bea2bfda"</ETag> <Size>23</Size> <StorageClass>STANDARD</StorageClass> <Owner> <ID>1250000000</ID> <DisplayName>1250000000</DisplayName> </Owner> </Version> <Version> <Key>example-object-1.jpg</Key> <VersionId>MTg0NDUxMzY2NDIxNjAyODcyNzk</VersionId> <IsLatest>false</IsLatest> <LastModified>2020-12-08T12:45:49.000Z</LastModified> <ETag>"601389434817e2781d8efb35c0e44717"</ETag> <Size>23</Size> <StorageClass>STANDARD</StorageClass> <Owner> <ID>1250000000</ID> <DisplayName>1250000000</DisplayName> </Owner> </Version> <DeleteMarker> <Key>example-object-2.jpg</Key> <VersionId>MTg0NDUxMzY2NDIxMjk3MzMwOTM</VersionId> <IsLatest>true</IsLatest> <LastModified>2020-12-08T12:46:19.000Z</LastModified> <Owner> <ID>1250000000</ID> <DisplayName>1250000000</DisplayName> </Owner> </DeleteMarker></ListVersionsResult>
案例八:需分页时获取后续页(续接案例七,使用 key-marker 和 version-id-marker 请求参数)
请求
GET /?versions&max-keys=3&key-marker=example-object-2.jpg&version-id-marker=MTg0NDUxMzY2NDIxMjk3MzMwOTM HTTP/1.1Host: examplebucket-1250000000.cos.ap-beijing.myqcloud.comDate: Tue, 08 Dec 2020 12:46:41 GMTAuthorization: q-sign-algorithm=sha1&q-ak=AKID8A0fBVtYFrNm02oY1g1JQQF0c3JO****&q-sign-time=1607431601;1607438801&q-key-time=1607431601;1607438801&q-header-list=date;host&q-url-param-list=key-marker;max-keys;version-id-marker;versions&q-signature=ad52682a1febcc068b6420432017daee8145****Connection: close
响应
HTTP/1.1 200 OKContent-Type: application/xmlContent-Length: 1052Connection: closeDate: Tue, 08 Dec 2020 12:46:41 GMTServer: tencent-cosx-cos-request-id: NWZjZjc1YjFfNjljMDBiMDlfNjQwOV8xYjM2****
<ListVersionsResult> <Name>examplebucket-1250000000</Name> <Prefix/> <KeyMarker>example-object-2.jpg</KeyMarker> <VersionIdMarker>MTg0NDUxMzY2NDIxMjk3MzMwOTM</VersionIdMarker> <MaxKeys>3</MaxKeys> <IsTruncated>false</IsTruncated> <Version> <Key>example-object-2.jpg</Key> <VersionId>MTg0NDUxMzY2NDIxMzk5MDk1NzU</VersionId> <IsLatest>false</IsLatest> <LastModified>2020-12-08T12:46:09.000Z</LastModified> <ETag>"51370fc64b79d0d3c7c609635be1c41f"</ETag> <Size>20</Size> <StorageClass>STANDARD</StorageClass> <Owner> <ID>1250000000</ID> <DisplayName>1250000000</DisplayName> </Owner> </Version> <Version> <Key>example-object-3.jpg</Key> <VersionId>MTg0NDUxMzY2NDIxMTk1NTEyNDI</VersionId> <IsLatest>true</IsLatest> <LastModified>2020-12-08T12:46:30.000Z</LastModified> <ETag>"b2f1d893c5fde000ee8ea6eca18ed81f"</ETag> <Size>20</Size> <StorageClass>STANDARD</StorageClass> <Owner> <ID>1250000000</ID> <DisplayName>1250000000</DisplayName> </Owner> </Version></ListVersionsResult>
案例九:使用 key-marker 指定起始对象(续接案例七,但仅使用 key-marker 请求参数而不使用 version-id-marker 请求参数)
请求
GET /?versions&max-keys=3&key-marker=example-object-2.jpg HTTP/1.1Host: examplebucket-1250000000.cos.ap-beijing.myqcloud.comDate: Tue, 08 Dec 2020 12:46:41 GMTAuthorization: q-sign-algorithm=sha1&q-ak=AKID8A0fBVtYFrNm02oY1g1JQQF0c3JO****&q-sign-time=1607431601;1607438801&q-key-time=1607431601;1607438801&q-header-list=date;host&q-url-param-list=key-marker;max-keys;versions&q-signature=0ed7ce0e8402e35b0ffd2fac429a638a56ea****Connection: close
响应
HTTP/1.1 200 OKContent-Type: application/xmlContent-Length: 610Connection: closeDate: Tue, 08 Dec 2020 12:46:42 GMTServer: tencent-cosx-cos-request-id: NWZjZjc1YjJfZGZjMTBiMDlfNzAyYl8xMzkx****
<ListVersionsResult> <Name>examplebucket-1250000000</Name> <Prefix/> <KeyMarker>example-object-2.jpg</KeyMarker> <VersionIdMarker/> <MaxKeys>3</MaxKeys> <IsTruncated>false</IsTruncated> <Version> <Key>example-object-3.jpg</Key> <VersionId>MTg0NDUxMzY2NDIxMTk1NTEyNDI</VersionId> <IsLatest>true</IsLatest> <LastModified>2020-12-08T12:46:30.000Z</LastModified> <ETag>"b2f1d893c5fde000ee8ea6eca18ed81f"</ETag> <Size>20</Size> <StorageClass>STANDARD</StorageClass> <Owner> <ID>1250000000</ID> <DisplayName>1250000000</DisplayName> </Owner> </Version></ListVersionsResult>
案例十:需分页时获取第一页(带 delimiter 参数,CommonPrefixes、Version 与 DeleteMarker 合计条目数不超过 max-keys 指定的值)
请求
GET /?versions&delimiter=%2F&max-keys=3 HTTP/1.1Host: examplebucket-1250000000.cos.ap-beijing.myqcloud.comDate: Wed, 09 Dec 2020 13:40:24 GMTAuthorization: q-sign-algorithm=sha1&q-ak=AKID8A0fBVtYFrNm02oY1g1JQQF0c3JO****&q-sign-time=1607521224;1607528424&q-key-time=1607521224;1607528424&q-header-list=date;host&q-url-param-list=delimiter;max-keys;versions&q-signature=fdd9031684c544bca32fae81da75b9216079****Connection: close
响应
HTTP/1.1 200 OKContent-Type: application/xmlContent-Length: 503Connection: closeDate: Wed, 09 Dec 2020 13:40:24 GMTServer: tencent-cosx-cos-request-id: NWZkMGQzYzhfYmIwMmEwOV83OGU4XzZj****
<ListVersionsResult> <Name>examplebucket-1250000000</Name> <Prefix/> <KeyMarker/> <VersionIdMarker/> <MaxKeys>3</MaxKeys> <IsTruncated>true</IsTruncated> <NextKeyMarker>example-folder-3/</NextKeyMarker> <NextVersionIdMarker/> <Delimiter>/</Delimiter> <CommonPrefixes> <Prefix>example-folder-1/</Prefix> </CommonPrefixes> <CommonPrefixes> <Prefix>example-folder-2/</Prefix> </CommonPrefixes> <CommonPrefixes> <Prefix>example-folder-3/</Prefix> </CommonPrefixes></ListVersionsResult>
案例十一:需分页时获取后续页(带 delimiter 参数,续接案例十,因为第一页返回的 NextVersionIdMarker 为空,所以本次请求的 version-id-marker 参数也指定为空)
请求
GET /?versions&delimiter=%2F&max-keys=3&key-marker=example-folder-3%2F&version-id-marker= HTTP/1.1Host: examplebucket-1250000000.cos.ap-beijing.myqcloud.comDate: Wed, 09 Dec 2020 14:02:32 GMTAuthorization: q-sign-algorithm=sha1&q-ak=AKID8A0fBVtYFrNm02oY1g1JQQF0c3JO****&q-sign-time=1607522552;1607529752&q-key-time=1607522552;1607529752&q-header-list=date;host&q-url-param-list=delimiter;key-marker;max-keys;version-id-marker;versions&q-signature=fd4b2ab426e4531be2e52c02d5bd0e747ee7****Connection: close
响应
HTTP/1.1 200 OKContent-Type: application/xmlContent-Length: 1115Connection: closeDate: Wed, 09 Dec 2020 14:02:32 GMTServer: tencent-cosx-cos-request-id: NWZkMGQ4ZjhfZmVhODBiMDlfMTI3NzVfMTBj****
<ListVersionsResult> <Name>examplebucket-1250000000</Name> <Prefix/> <KeyMarker>example-folder-3/</KeyMarker> <VersionIdMarker/> <MaxKeys>3</MaxKeys> <IsTruncated>true</IsTruncated> <NextKeyMarker>example-object.jpg</NextKeyMarker> <NextVersionIdMarker>MTg0NDUxMzY1NTExNzc4NTYzMTk</NextVersionIdMarker> <Delimiter>/</Delimiter> <CommonPrefixes> <Prefix>example-folder-4/</Prefix> </CommonPrefixes> <Version> <Key>example-object.jpg</Key> <VersionId>MTg0NDUxMzY1NTExNjc2OTk4MjE</VersionId> <IsLatest>true</IsLatest> <LastModified>2020-12-09T14:02:21.000Z</LastModified> <ETag>"3979f6bb23f827d258be64cc0d8df5fb"</ETag> <Size>21</Size> <StorageClass>STANDARD</StorageClass> <Owner> <ID>1250000000</ID> <DisplayName>1250000000</DisplayName> </Owner> </Version> <DeleteMarker> <Key>example-object.jpg</Key> <VersionId>MTg0NDUxMzY1NTExNzc4NTYzMTk</VersionId> <IsLatest>false</IsLatest> <LastModified>2020-12-09T14:02:11.000Z</LastModified> <Owner> <ID>1250000000</ID> <DisplayName>1250000000</DisplayName> </Owner> </DeleteMarker></ListVersionsResult>
对象存储官网1折活动,限时活动,即将结束,速速收藏
同尘科技为腾讯云授权服务中心。
购买腾讯云产品享受折上折,更有现金返利。同意关联立享优惠
转转请注明出处:https://www.yunxiaoer.com/144953.html