OSS允許使用者對Bucket設定生命週期規則,以自動淘汰過期掉的檔案,節省儲存空間。使用者可以同時設定多條規則,一條規則包含:
- 規則ID,用於標識一條規則,不能重複
- 受影響的檔案首碼,此規則只作用於符合首碼的檔案
- 過期時間,有兩種指定方式:
- 指定距檔案最後修改時間N天過期
- 指定在具體的某一天過期,即在那天之後符合首碼的檔案將會過期,而不論檔案的最後修改時間。不推薦使用。
- 是否生效
更多關於生命週期的內容請參考檔案生命週期。
設定生命週期規則
通過Bucket#lifecycle=
來設定生命週期規則:
require 'aliyun/oss'
client = Aliyun::OSS::Client.new(
endpoint: 'endpoint',
access_key_id: 'AccessKeyId', access_key_secret: 'AccessKeySecret')
bucket.lifecycle = [
LifeCycleRule.new(
:id => 'rule1', :enabled => true, :prefix => 'foo/', :expiry => 3),
LifeCycleRule.new(
:id => 'rule2', :enabled => false, :prefix => 'bar/', :expiry => Date.new(2016, 1, 1))
]
查看生命週期規則
通過Bucket#lifecycle
來查看生命週期規則:
require 'aliyun/oss'
client = Aliyun::OSS::Client.new(
endpoint: 'endpoint',
access_key_id: 'AccessKeyId', access_key_secret: 'AccessKeySecret')
rules = bucket.lifecycle
puts rules
清空生命週期規則
通過Bucket#lifecycle=
設定一個空的Rule數組來清空生命週期規則:
require 'aliyun/oss'
client = Aliyun::OSS::Client.new(
endpoint: 'endpoint',
access_key_id: 'AccessKeyId', access_key_secret: 'AccessKeySecret')
bucket.lifecycle = []