edit-icon download-icon

ライブサイクルのルールを管理する

最終更新日: Aug 29, 2017

OSSではバケットのライフサイクルルールを設定して、期限切れのオブジェクトを自動的に削除し、ストレージ容量を節約できます。 複数のライフサイクルルールを設定できます。 ライフサイクルルールには次の項目が含まれています。

  • Rule ID:ルールIDはルールを識別するために使用され、重複することはできません。
  • ルールの対象となるオブジェクトの接頭辞: ルールは指定された接頭辞を持つオブジェクトにのみ適用されます。
  • 有効期限:次のいずれかの方法で指定できます。
    • 最終更新日のN日目にオブジェクトが期限切れになることを指定します。
    • オブジェクトの有効期限を特定の日に指定します。これは対象先頭辞を持つ全てのオブジェクトが最終更新日に関係なく、指定された日付に有効期限が切れます。この方法はお勧めしません。
  • このルールが有効かどうか

ライフサイクルの詳細についてはライフサイクル管理 を参照してください。

ライブサイクルのルールを設定する

次のコードは Bucket#lifecycle =を使用してライフサイクルのルールを設定します:

  1. require 'aliyun/oss'
  2. client = Aliyun::OSS::Client.new(
  3. endpoint: 'endpoint',
  4. access_key_id: 'AccessKeyId', access_key_secret: 'AccessKeySecret')
  5. bucket.lifecycle = [
  6. LifeCycleRule.new(
  7. :id => 'rule1', :enabled => true, :prefix => 'foo/', :expiry => 3),
  8. LifeCycleRule.new(
  9. :id => 'rule2', :enabled => false, :prefix => 'bar/', :expiry => Date.new(2016, 1, 1))
  10. ]

ライブサイクルのルールを表示する。

次のコードは Bucket#lifecycle =を使用してライフサイクルのルールを表示します:

  1. require 'aliyun/oss'
  2. client = Aliyun::OSS::Client.new(
  3. endpoint: 'endpoint',
  4. access_key_id: 'AccessKeyId', access_key_secret: 'AccessKeySecret')
  5. rules = bucket.lifecycle
  6. puts rules

ライブサイクルのルールを削除する

次のコードは Bucket#lifecycle =を使用してライフサイクルのルールを削除します:

  1. require 'aliyun/oss'
  2. client = Aliyun::OSS::Client.new(
  3. endpoint: 'endpoint',
  4. access_key_id: 'AccessKeyId', access_key_secret: 'AccessKeySecret')
  5. bucket.lifecycle = []