華為云計算 云知識 獲取桶的生命周期配置GetBucketLifecycle
獲取桶的生命周期配置GetBucketLifecycle

 

接口說明

獲取該桶設(shè)置的生命周期配置信息。

要正確執(zhí)行此操作,需要確保執(zhí)行者有GetLifecycleConfiguration執(zhí)行權(quán)限。默認情況下只有桶的所有者可以執(zhí)行此操作,也可以通過設(shè)置桶策略或用戶策略授權(quán)給其他用戶。

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

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

Date
 
string header

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

bucket_name
 
string query

請求的桶名稱。

lifecycle
 
string query

lifecycle表示請求桶聲明周期API。

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

成功請求響應(yīng)。

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

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

Connection
 
string

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

Date
 
string

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

ETag
 
string

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

x-obs-id-2
 
string

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

x-obs-request-id
 
string

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

名稱 類型 必選 描述
LifecycleConfiguration
 
SetBucketLifecycleRequestBody object

桶的生命周期配置信息。

如果桶的多版本是Enabled或者Suspended,那么可以設(shè)置NoncurrentVersionTransition或NoncurrentVersionExpiration來控制對象的歷史版本的生命周期。一個歷史版本的生命周期,取決于它成為歷史版本的時刻(即被新版本覆蓋的那個時刻)和NoncurrentDays。對于刪除來說,例如NoncurrentDays配置為1的話,表示當一個版本成為歷史版本之后,再過1天才能刪除。對象A的版本V1創(chuàng)建于1號,5號的時候又上傳新的版本V2,此時V1成為歷史版本,那么再過1天,7號的0點,V1就過期了。如果該版本不滿足刪除, 遷移 配置NoncurrentDays為1,StorageClass為WARM的話,表示當一個版本成為歷史版本之后,再過1天轉(zhuǎn)為溫對象。對象A的版本V1創(chuàng)建于1號,5號的時候又上傳新的版本V2,此時V1成為歷史版本,那么再過1天,7號的0點,V1就會遷移成溫對象了。(備注:對象過期后被刪除或?qū)ο筮w移的時間可能會有一定的延遲,一般不超過48小時。) 如果桶的多版本是Enabled或者Suspended,且最新版本對象滿足Expiration規(guī)則時的處理: 桶當前的多版本狀態(tài)為Enabled: 如果對象的最新版本不是deletemarker,則該對象會產(chǎn)生一個新的deletemarker;

如果最新版本是deletemarker,且該對象只有這一個版本,則這個版本會被刪除;

如果最新版本是deletemarker,且對象還有其他版本,則該對象的所有版本維持不變,沒有新增和刪除,也不會被修改(即無任何變化)。

桶當前的多版本狀態(tài)為Suspended: 如果對象的最新版本不是deletemarker,且版本不是null版本,則會產(chǎn)生一個新的null版本的deletemarker;

如果對象的最新版本不是deletemarker,且版本是null版本,則這個null版本會被新產(chǎn)生的null版本的deletemarker覆蓋;

如果最新版本是deletemarker,且該對象只有這一個版本,則這個版本會被刪除;

如果最新版本是deletemarker,且對象還有其他版本,則該對象的所有版本維持不變,沒有新增和刪除,也不會被修改(即無任何變化)。

如果桶的多版本是Enabled或者Suspended,且最新版本對象滿足Transition規(guī)則時的處理: 如果對象的最新版本是deletemarker,則這個版本不被遷移; 如果最新版本不是deletemarker,且該對象滿足遷移條件,則這個版本會被遷移。

200 LifecycleConfiguration
名稱 類型 必選 描述
Rule
 
Array of Rule objects  
200 LifecycleConfiguration.Rule
名稱 類型 必選 描述
ID
 
string

一條Rule的標識,由不超過255個字符的字符串組成。

Prefix
 
string

對象名前綴,用以標識哪些對象可以匹配到當前這條Rule。

約束: 1.當按前綴配置時,如果指定的前綴名與某條已配置的生命周期規(guī)則指定的前綴名存在包含關(guān)系,OBS會將兩條規(guī)則視為同一條,而禁止您配置本條規(guī)則。例如,系統(tǒng)中已存在指定前綴名為“abc”的規(guī)則,則不允許再配置指定前綴以“abc”字段開頭的規(guī)則。 2.如果已存在按前綴配置的生命周期規(guī)則,則不允許再新增配置到整個桶的規(guī)則。

Status
 
string

標識當前這條Rule是否啟用。

Expiration
 
Expiration object

生命周期配置中表示過期時間的Container(僅針對對象的最新版本)。 如果沒有Transition, NoncurrentVersionTransition, NoncurrentVersionExpiration, AbortIncompleteMultipartUpload則必選。

NoncurrentVersionExpiration
 
NoncurrentVersionExpiration object

生命周期配置中表示歷史版本過期時間的Container。您可以將該動作設(shè)置在已啟用多版本(或暫停)的桶,來讓系統(tǒng)刪除對象的滿足特定生命周期的歷史版本(僅針對歷史版本)。

Transition
 
Array of Transition objects

生命周期配置中表示遷移時間和遷移后 對象存儲 級別的元素(僅針對對象的最新版本)。 如果沒有NoncurrentVersionTransition, Expiration, NoncurrentVersionExpiration, AbortIncompleteMultipartUpload則必選。

NoncurrentVersionTransition
 
Array of NoncurrentVersionTransition objects

生命周期配置中表示對象的歷史版本遷移時間和遷移后對象存儲級別的元素。

AbortIncompleteMultipartUpload
 
AbortIncompleteMultipartUpload object

生命周期配置中表示未合并的多段任務(wù)(碎片)的過期屬性Container。 如果沒有Transition, Expiration, NoncurrentVersionExpiration, NoncurrentVersionTransition則必選。

200 LifecycleConfiguration.Rule.Expiration
名稱 類型 必選 描述
Date
 
string

指定OBS對該日期之前的對象執(zhí)行生命周期規(guī)則。日期格式必須為ISO8601的格式,并且為UTC的零點。 例如:2018-01-01T00:00:00.000Z,表示將最后修改時間早于2018-01-01T00:00:00.000Z的對象刪除或轉(zhuǎn)換成其他存儲類型,等于或晚于這個時間的對象不會被刪除或轉(zhuǎn)儲。

如果沒有Days元素,則必選。

Days
 
integer

指定生命周期規(guī)則在對象最后更新過后多少天生效(僅針對對象的最新版本)。

如果沒有Date元素,則必選。

200 LifecycleConfiguration.Rule.NoncurrentVersionExpiration
名稱 類型 必選 描述
NoncurrentDays
 
integer

表示對象在成為歷史版本之后第幾天時規(guī)則生效(僅針對歷史版本)。 如果有NoncurrentVersionExpiration或NoncurrentVersionTransition元素,則必選。

200 LifecycleConfiguration.Rule.Transition
名稱 類型 必選 描述
Date
 
string

指定OBS對該日期之前的對象執(zhí)行生命周期規(guī)則。日期格式必須為ISO8601的格式,并且為UTC的零點。 例如:2018-01-01T00:00:00.000Z,表示將最后修改時間早于2018-01-01T00:00:00.000Z的對象刪除或轉(zhuǎn)換成其他存儲類型,等于或晚于這個時間的對象不會被刪除或轉(zhuǎn)儲。

如果沒有Days元素,則必選。

Days
 
integer

指定生命周期規(guī)則在對象最后更新過后多少天生效(僅針對對象的最新版本)。

如果沒有Date元素,則必選。

StorageClass
 
string

表示對象將被修改成存儲級別。 取值范圍: WARM或COLD

200 LifecycleConfiguration.Rule.NoncurrentVersionTransition
名稱 類型 必選 描述
NoncurrentDays
 
integer

表示對象在成為歷史版本之后第幾天時規(guī)則生效(僅針對歷史版本)。

StorageClass
 
string

表示對象將被修改成存儲級別。 取值范圍: WARM或COLD

200 LifecycleConfiguration.Rule.AbortIncompleteMultipartUpload
名稱 類型 必選 描述
DaysAfterInitiation
 
integer

指定未合并的多段任務(wù)(碎片)的生命周期規(guī)則,在多段任務(wù)初始化過后多少天生效。 如果有AbortIncompleteMultipartUpload則必選。

返回碼: 400

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

名稱 類型 必選 描述
Code
 
string

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

Message
 
string

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

RequestId
 
string

本次錯誤請求的請求ID,用于錯誤定位。

HostId
 
string

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

Resource
 
string

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

返回碼: 404

請求失敗響應(yīng)消息。 除了公共的錯誤碼外,此接口還會返回一些其他的錯誤碼。下面列出本接口的一些常見錯誤,以及可能原因。

錯誤碼 描述 HTTP狀態(tài)碼
NoSuchLifecycleConfiguration 桶的生命周期配置不存在。 404 Not Found
名稱 類型 必選 描述
Code
 
string

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

Message
 
string

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

RequestId
 
string

本次錯誤請求的請求ID,用于錯誤定位。

HostId
 
string

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

Resource
 
string

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

請求示例
示例 1
 
"/?lifecycle"
錯誤碼
請參考 錯誤碼說明。