OBS系統(tǒng)支持指定規(guī)則來實現(xiàn)定時刪除或 遷移 桶中對象,這就是生命周期配置。典型的應(yīng)用場景如: 周期性上傳的日志文件,可能只需要保留一個星期或一個月,到期后要刪除它們。 某些文檔在一段時間內(nèi)經(jīng)常訪問,但是超過一定時間后就可能不會再訪問了。這種文檔您可能會先選擇歸檔,然后在一定時間后刪除。 桶的最低轉(zhuǎn)溫和轉(zhuǎn)冷的時間可以配置,取值范圍為24~8640。
本接口實現(xiàn)為桶創(chuàng)建或更新生命周期配置信息。
說明: 對象生命周期到期以后,對象將會永久刪除,無法恢復(fù)。
要正確執(zhí)行此操作,需要確保執(zhí)行者有PutLifecycleConfiguration權(quán)限。默認(rèn)情況下只有桶的所有者可以執(zhí)行此操作,也可以通過設(shè)置桶策略或用戶策略授權(quán)給其他用戶。
生命周期配置實現(xiàn)了定時刪除對象和定時遷移對象的功能,所以如果想要阻止用戶刪除或遷移對象,以下幾項操作的權(quán)限都應(yīng)該被禁止:
DeleteObject DeleteObjectVersion PutLifecycleConfiguration 如果想要阻止用戶管理桶的生命周期配置,應(yīng)該禁止PutLifecycleConfiguration權(quán)限。
| 名稱 | 類型 | IN | 必選 | 描述 |
|---|---|---|---|---|
|
Authorization
|
string | header | 是 |
請求消息中可帶的簽名信息。 |
|
Date
|
string | header | 否 |
請求發(fā)起端的日期和時間,例如:Wed, 27 Jun 2018 13:39:15 +0000。 默認(rèn)值:無。 條件:如果消息頭中帶了x-obs-date字段,則可以不帶該字段,其他情況下必選。 |
|
Content-MD5
|
string | header | 是 |
按照RFC 1864標(biāo)準(zhǔn)計算出消息體的MD5摘要字符串,即消息體128-bit MD5值經(jīng)過base64編碼后得到的字符串。也支持設(shè)置Content-SHA256頭域,其值為消息體256-bit SHA256值經(jīng)過base64編碼后得到的字符串,Content-MD5和Content-SHA256二選一。 示例:n58IG6hfM7vqI4K0vnWpog== |
|
bucket_name
|
string | query | 是 |
請求的桶名稱。 |
|
lifecycle
|
string | query | 是 |
lifecycle表示請求桶聲明周期API。 |
| 名稱 | 類型 | 必選 | 描述 |
|---|---|---|---|
|
Rule
|
Array of Rule objects | 是 |
| 名稱 | 類型 | 必選 | 描述 |
|---|---|---|---|
|
ID
|
string | 否 |
一條Rule的標(biāo)識,由不超過255個字符的字符串組成。 |
|
Prefix
|
string | 是 |
對象名前綴,用以標(biāo)識哪些對象可以匹配到當(dāng)前這條Rule。 約束: 1.當(dāng)按前綴配置時,如果指定的前綴名與某條已配置的生命周期規(guī)則指定的前綴名存在包含關(guān)系,OBS會將兩條規(guī)則視為同一條,而禁止您配置本條規(guī)則。例如,系統(tǒng)中已存在指定前綴名為“abc”的規(guī)則,則不允許再配置指定前綴以“abc”字段開頭的規(guī)則。 2.如果已存在按前綴配置的生命周期規(guī)則,則不允許再新增配置到整個桶的規(guī)則。 |
|
Status
|
string | 是 |
標(biāo)識當(dāng)前這條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則必選。 |
| 名稱 | 類型 | 必選 | 描述 |
|---|---|---|---|
|
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元素,則必選。 |
| 名稱 | 類型 | 必選 | 描述 |
|---|---|---|---|
|
NoncurrentDays
|
integer | 否 |
表示對象在成為歷史版本之后第幾天時規(guī)則生效(僅針對歷史版本)。 如果有NoncurrentVersionExpiration或NoncurrentVersionTransition元素,則必選。 |
| 名稱 | 類型 | 必選 | 描述 |
|---|---|---|---|
|
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 |
| 名稱 | 類型 | 必選 | 描述 |
|---|---|---|---|
|
NoncurrentDays
|
integer | 否 |
表示對象在成為歷史版本之后第幾天時規(guī)則生效(僅針對歷史版本)。 |
|
StorageClass
|
string | 否 |
表示對象將被修改成存儲級別。 取值范圍: WARM或COLD |
| 名稱 | 類型 | 必選 | 描述 |
|---|---|---|---|
|
DaysAfterInitiation
|
integer | 否 |
指定未合并的多段任務(wù)(碎片)的生命周期規(guī)則,在多段任務(wù)初始化過后多少天生效。 如果有AbortIncompleteMultipartUpload則必選。 |
成功請求響應(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)容的唯一標(biāo)識,可以通過該值識別對象內(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)建來唯一確定本次請求的值,可以通過該值來定位問題。 |
