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

 

接口說明

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

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

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

請求消息中可帶的簽名信息。

Date
 
string header

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

bucket_name
 
string query

請求的桶名稱。

versions
 
string query

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

prefix
 
string query

列舉以指定的字符串prefix開頭的對象。

marker
 
string query

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

max-keys
 
integer query

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

delimiter
 
string query

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

例如,桶中有3個(gè)對象,分別為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

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

version-id-marker
 
string query

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

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

有效值:對象的版本號,即上次請求返回體的NextVersionIdMarker值

encoding-type
 
string query

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

可選值:url

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

成功響應(yīng)消息

名稱 類型 必選 描述
Content-Length
 
string

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

Connection
 
string

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

Date
 
string

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

ETag
 
string

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

x-obs-id-2
 
string

幫助定位問題的特殊符號。

x-obs-request-id
 
string

由OBS創(chuàng)建來唯一確定本次請求的值,可以通過該值來定位問題。

x-obs-bucket-type
 
string

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

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

名稱 類型 必選 描述
Name
 
string

桶名。

EncodingType
 
string

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

Prefix
 
string

對象名的前綴,表示本次請求只列舉對象名能匹配該前綴的所有對象。類型:字符串

KeyMarker
 
string

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

VersionIdMarker
 
string

列舉對象時(shí)對象版本號的起始位置。

NextKeyMarker
 
string

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

NextVersionIdMarker
 
string

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

MaxKeys
 
string

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

IsTruncated
 
boolean

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

Version
 
ListVersionsResultVersion object

保存版本信息的容器

DeleteMarker
 
ListVersionsResultDeleteMarker object

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

CommonPrefixes
 
ListVersionsResultCommonPrefixes object

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

200 Version
名稱 類型 必選 描述
Key
 
string

對象名。

VersionId
 
string

對象的版本號。

IsLatest
 
string

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

LastModified
 
string

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

ETag
 
string

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

Type
 
string

對象類型,非Normal對象時(shí)返回。

Size
 
string

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

Owner
 
Owner object

桶擁有者信息,包含租戶ID。

StorageClass
 
string

對象的存儲類型。

200 Version.Owner
名稱 類型 必選 描述
ID
 
string

用戶的DomainID(帳號ID)。

200 DeleteMarker
名稱 類型 必選 描述
Key
 
string

對象名。

VersionId
 
string

對象的版本號。

IsLatest
 
string

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

LastModified
 
string

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

Owner
 
Owner object

桶擁有者信息,包含租戶ID。

200 DeleteMarker.Owner
名稱 類型 必選 描述
ID
 
string

用戶的DomainID(帳號ID)。

200 CommonPrefixes
名稱 類型 必選 描述
Prefix
 
string

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

返回碼: 400

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

名稱 類型 必選 描述
Code
 
string

錯(cuò)誤響應(yīng)消息體XML中錯(cuò)誤響應(yīng)對應(yīng)的HTTP消息返回碼,具體的錯(cuò)誤碼請參見錯(cuò)誤碼-表2

Message
 
string

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

RequestId
 
string

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

HostId
 
string

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

Resource
 
string

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

請求示例
示例 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ò)誤碼
請參考 錯(cuò)誤碼說明。