華為云計(jì)算 云知識(shí) 列舉桶內(nèi)對(duì)象(多版本)ListVersions
列舉桶內(nèi)對(duì)象(多版本)ListVersions

 

接口說(shuō)明

對(duì)桶擁有讀權(quán)限的用戶(hù)可以執(zhí)行獲取桶內(nèi)多版本對(duì)象列表的操作。

如果用戶(hù)在請(qǐng)求的URI里只指定了桶名,即GET /BucketName,則返回信息中會(huì)包含桶內(nèi)部分或所有對(duì)象的描述信息(一次最多返回1000個(gè)對(duì)象信息);如果用戶(hù)還指定了prefix、marker、max-keys、delimiter參數(shù)中的一個(gè)或多個(gè),則返回的對(duì)象列表將按照如表1所示規(guī)定的語(yǔ)義返回指定的對(duì)象。

URL
GET  https://obs.cn-north-4.myhuaweicloud.com/ 
請(qǐng)求參數(shù)
名稱(chēng) 類(lèi)型 IN 必選 描述
Authorization
 
string header

請(qǐng)求消息中可帶的簽名信息。

Date
 
string header

請(qǐng)求發(fā)起端的日期和時(shí)間,例如:Wed, 27 Jun 2018 13:39:15 +0000。 默認(rèn)值:無(wú)。 條件:如果消息頭中帶了x-obs-date字段,則可以不帶該字段,其他情況下必選。

bucket_name
 
string query

請(qǐng)求的桶名稱(chēng)。

versions
 
string query

versions表示請(qǐng)求列舉桶內(nèi)對(duì)象(多版本)api。

prefix
 
string query

列舉以指定的字符串prefix開(kāi)頭的對(duì)象。

marker
 
string query

列舉桶內(nèi)對(duì)象列表時(shí),指定一個(gè)標(biāo)識(shí)符,從該標(biāo)識(shí)符以后按字典順序返回對(duì)象列表。

max-keys
 
integer query

指定返回的最大對(duì)象數(shù),返回的對(duì)象列表將是按照字典順序的最多前max-keys個(gè)對(duì)象,范圍是[1,1000],超出范圍時(shí),按照默認(rèn)的1000進(jìn)行處理。

delimiter
 
string query

將對(duì)象名進(jìn)行分組的分隔符。如果指定了prefix,從prefix到第一次出現(xiàn)delimiter間具有相同字符串的對(duì)象名會(huì)被分成一組,形成一條CommonPrefixes;如果沒(méi)有指定prefix,從對(duì)象名的首字符到第一次出現(xiàn)delimiter間具有相同字符串的對(duì)象名會(huì)被分成一組,形成一條CommonPrefixes。

例如,桶中有3個(gè)對(duì)象,分別為abcd、abcde、bbcde。如果指定delimiter為d,prefix為a,abcd、abcde會(huì)被分成一組,形成一條前綴為abcd的CommonPrefixes;如果只指定delimiter為d,abcd、abcde會(huì)被分成一組,形成一條前綴為abcd的CommonPrefixes,而bbcde會(huì)被單獨(dú)分成一組,形成一條前綴為bbcd的CommonPrefixes。

key-marker
 
string query

列舉對(duì)象時(shí)的起始位置。 有效值:上次請(qǐng)求返回體的NextKeyMarker值

version-id-marker
 
string query

本參數(shù)只適用于多版本例舉場(chǎng)景

與請(qǐng)求中的key-marker配合使用,返回的對(duì)象列表將是按照字典順序排序后在該標(biāo)識(shí)符以后的對(duì)象(單次返回最大為1000個(gè))。如果version-id-marker不是key-marker對(duì)應(yīng)的一個(gè)版本號(hào),則該參數(shù)無(wú)效。

有效值:對(duì)象的版本號(hào),即上次請(qǐng)求返回體的NextVersionIdMarker值

encoding-type
 
string query

對(duì)響應(yīng)中的部分元素進(jìn)行指定類(lèi)型的編碼。如果Delimiter、Marker(或KeyMarker)、Prefix、NextMarker(或NextKeyMarker)和Key包含xml 1.0標(biāo)準(zhǔn)不支持的控制字符,可通過(guò)設(shè)置encoding-type對(duì)響應(yīng)中的Delimiter、Marker(或KeyMarker)、Prefix(包括CommonPrefixes中的Prefix)、NextMarker(或NextKeyMarker)和Key進(jìn)行編碼。

可選值:url

返回參數(shù)
返回碼: 200

成功響應(yīng)消息

名稱(chēng) 類(lèi)型 必選 描述
Content-Length
 
string

響應(yīng)消息體的字節(jié)長(zhǎng)度。

Connection
 
string

指明與服務(wù)器的連接是長(zhǎng)連接還是短連接。

Date
 
string

OBS系統(tǒng)響應(yīng)的時(shí)間。

ETag
 
string

對(duì)象的base64編碼的128位MD5摘要。ETag是對(duì)象內(nèi)容的唯一標(biāo)識(shí),可以通過(guò)該值識(shí)別對(duì)象內(nèi)容是否有變化。比如上傳對(duì)象時(shí)ETag為A,下載對(duì)象時(shí)ETag為B,則說(shuō)明對(duì)象內(nèi)容發(fā)生了變化。實(shí)際的ETag是對(duì)象的哈希值。ETag只反映變化的內(nèi)容,而不是其元數(shù)據(jù)。上傳的對(duì)象或拷貝操作創(chuàng)建的對(duì)象,通過(guò)MD5加密后都有唯一的ETag。如果通過(guò)多段上傳對(duì)象,則無(wú)論加密方法如何,MD5會(huì)拆分ETag,此類(lèi)情況ETag就不是MD5的摘要。

x-obs-id-2
 
string

幫助定位問(wèn)題的特殊符號(hào)。

x-obs-request-id
 
string

由OBS創(chuàng)建來(lái)唯一確定本次請(qǐng)求的值,可以通過(guò)該值來(lái)定位問(wèn)題。

x-obs-bucket-type
 
string

通過(guò)此消息頭明確獲取的列表內(nèi)容。

取值: OBJECT:獲取所有桶列表。 POSIX:獲取所有并行文件系統(tǒng)列表。 不帶此消息頭則獲取所有桶和并行文件系統(tǒng)列表。

名稱(chēng) 類(lèi)型 必選 描述
Name
 
string

桶名。

EncodingType
 
string

對(duì)響應(yīng)中的部分元素進(jìn)行指定類(lèi)型的編碼。如果請(qǐng)求中設(shè)置了encoding-type,那響應(yīng)中的Delimiter、KeyMarker、Prefix(包括CommonPrefixes中的Prefix)、NextKeyMarker和Key會(huì)被編碼。

Prefix
 
string

對(duì)象名的前綴,表示本次請(qǐng)求只列舉對(duì)象名能匹配該前綴的所有對(duì)象。類(lèi)型:字符串

KeyMarker
 
string

列舉對(duì)象時(shí)對(duì)象的起始位置標(biāo)識(shí)符。

VersionIdMarker
 
string

列舉對(duì)象時(shí)對(duì)象版本號(hào)的起始位置。

NextKeyMarker
 
string

如果本次沒(méi)有返回全部結(jié)果,響應(yīng)請(qǐng)求中將包含該元素,用于標(biāo)明接下來(lái)請(qǐng)求的KeyMarker值。

NextVersionIdMarker
 
string

如果本次沒(méi)有返回全部結(jié)果,響應(yīng)請(qǐng)求中將包含該元素,用于標(biāo)明接下來(lái)請(qǐng)求的VersionIdMarker值。

MaxKeys
 
string

列舉時(shí)最多返回的對(duì)象個(gè)數(shù)。

IsTruncated
 
boolean

表明是否本次返回的ListVersionsResult結(jié)果列表被截?cái)唷!皌rue”表示本次沒(méi)有返回全部結(jié)果;“false”表示本次已經(jīng)返回了全部結(jié)果。

Version
 
ListVersionsResultVersion object

保存版本信息的容器

DeleteMarker
 
ListVersionsResultDeleteMarker object

保存刪除標(biāo)記的容器

CommonPrefixes
 
ListVersionsResultCommonPrefixes object

請(qǐng)求中帶delimiter參數(shù)時(shí),返回消息帶CommonPrefixes分組信息。

200 Version
名稱(chēng) 類(lèi)型 必選 描述
Key
 
string

對(duì)象名。

VersionId
 
string

對(duì)象的版本號(hào)。

IsLatest
 
string

標(biāo)識(shí)對(duì)象是否是最新的版本,true代表是最新的版本。

LastModified
 
string

對(duì)象最近一次被修改的時(shí)間(UTC時(shí)間)。

ETag
 
string

對(duì)象的base64編碼的128位MD5摘要。ETag是對(duì)象內(nèi)容的唯一標(biāo)識(shí),可以通過(guò)該值識(shí)別對(duì)象內(nèi)容是否有變化。實(shí)際標(biāo)簽是對(duì)象的哈希。比如上傳對(duì)象時(shí)ETag為A,下載對(duì)象時(shí)ETag為B,則說(shuō)明對(duì)象內(nèi)容發(fā)生了變化。ETag只反映變化的內(nèi)容,而不是其元數(shù)據(jù)。上傳的對(duì)象或拷貝操作創(chuàng)建的對(duì)象,通過(guò)MD5加密后都有唯一的ETag。

Type
 
string

對(duì)象類(lèi)型,非Normal對(duì)象時(shí)返回。

Size
 
string

對(duì)象的字節(jié)數(shù)。

Owner
 
Owner object

桶擁有者信息,包含租戶(hù)ID。

StorageClass
 
string

對(duì)象的存儲(chǔ)類(lèi)型。

200 Version.Owner
名稱(chēng) 類(lèi)型 必選 描述
ID
 
string

用戶(hù)的DomainID(帳號(hào)ID)。

200 DeleteMarker
名稱(chēng) 類(lèi)型 必選 描述
Key
 
string

對(duì)象名。

VersionId
 
string

對(duì)象的版本號(hào)。

IsLatest
 
string

標(biāo)識(shí)對(duì)象是否是最新的版本,true代表是最新的版本。

LastModified
 
string

對(duì)象最近一次被修改的時(shí)間(UTC時(shí)間)。

Owner
 
Owner object

桶擁有者信息,包含租戶(hù)ID。

200 DeleteMarker.Owner
名稱(chēng) 類(lèi)型 必選 描述
ID
 
string

用戶(hù)的DomainID(帳號(hào)ID)。

200 CommonPrefixes
名稱(chēng) 類(lèi)型 必選 描述
Prefix
 
string

CommonPrefixes分組信息中,表明不同的Prefix。

返回碼: 400

請(qǐng)求失敗響應(yīng)消息。

名稱(chēng) 類(lèi)型 必選 描述
Code
 
string

錯(cuò)誤響應(yīng)消息體XML中錯(cuò)誤響應(yīng)對(duì)應(yīng)的HTTP消息返回碼,具體的錯(cuò)誤碼請(qǐng)參見(jiàn)錯(cuò)誤碼-表2。

Message
 
string

錯(cuò)誤響應(yīng)消息體XML中具體錯(cuò)誤更全面、詳細(xì)的英文解釋,具體的錯(cuò)誤消息請(qǐng)參見(jiàn)錯(cuò)誤碼-表2。

RequestId
 
string

本次錯(cuò)誤請(qǐng)求的請(qǐng)求ID,用于錯(cuò)誤定位。

HostId
 
string

返回該消息的服務(wù)端ID。

Resource
 
string

該錯(cuò)誤相關(guān)的桶或?qū)ο筚Y源。

請(qǐng)求示例
示例 1
 
"/?versions"
 
"GET / HTTP/1.1\nUser-Agent: curl/7.29.0\nHost: examplebucket.obs.cn-north-4.myhuaweicloud.com\nAccept: */*\nDate: WED, 01 Jul 2015 02:28:25 GMT\nAuthorization: OBS H4IPJX0TQTHTHEBQQCEC:KiyoYze4pmRNPYfmlXBfRTVxt8c=\n"
返回示例
返回碼:200

成功響應(yīng)消息

示例 1
 
HTTP/1.1 200 OK Server: OBS x-obs-request-id: BF260000016435D758FBA857E0801874 x-obs-id-2: 32AAAQAAEAABAAAQAAEAABAAAQAAEAA BCS hn/xAyk/xHBX6qgGSB36WXrbco0X80 Content-Type: application/xml Date: WED, 01 Jul 2015 02:29:48 GMT Content-Length: 707 <?xml version="1.0" encoding="UTF-8" standalone="yes"?> <ListVersionsResult xmlns="http://obs.cn-north-4.myhuaweicloud.com/doc/2015-06-30/"> <Name>bucket02</Name> <Prefix/> <KeyMarker/> <VersionIdMarker/> <MaxKeys>1000</MaxKeys> <IsTruncated>false</IsTruncated> <Contents> <Key>object001</Key> <VersionId>00011000000000013F16000001643A22E476FFFF9046024ECA3655445346485a</VersionId> <IsLatest>true</IsLatest> <LastModified>2015-07-01T00:32:16.482Z</LastModified> <ETag>"2fa3bcaaec668adc5da177e67a122d7c"</ETag> <Size>12041</Size> <Owner> <ID>b4bf1b36d9ca43d984fbcb9491b6fce9</ID> </Owner> <StorageClass>STANDARD</StorageClass> </Contents> </ListVersionsResult>
錯(cuò)誤碼
請(qǐng)參考 錯(cuò)誤碼說(shuō)明。