Tous les produits
Search
Centre de documentation

Object Storage Service:Cycle de vie (SDK Ruby)

Dernière mise à jour :Aug 18, 2026

Certaines données transférées vers Object Storage Service (OSS) sont rarement consultées, mais doivent être conservées dans un stockage à froid pour des raisons de conformité ou d'archivage. Vous pouvez également supprimer par lots les données devenues inutiles afin de réduire vos coûts de stockage. Dans ces cas, configurez des règles de cycle de vie basées sur la date de dernière modification pour convertir périodiquement les données actives en données froides ou supprimer les objets indésirables.

Notes d'utilisation

  • Cette rubrique utilise l'endpoint public de la région Chine (Hangzhou). Pour accéder à OSS depuis d'autres services Alibaba Cloud situés dans la même région, utilisez un endpoint interne. Pour obtenir la liste des régions et des endpoints pris en charge, consultez la rubrique Régions et endpoints.

  • Les exemples de cette rubrique montrent comment créer une instance OSSClient à l'aide d'un endpoint OSS. Pour découvrir d'autres configurations, telles que l'utilisation d'un nom de domaine personnalisé ou l'authentification via des identifiants Security Token Service (STS), consultez la rubrique Créer un OssClient.

  • Pour définir des règles de cycle de vie, vous devez disposer de l'autorisation oss:PutBucketLifecycle. Pour consulter les règles de cycle de vie, vous devez disposer de l'autorisation oss:GetBucketLifecycle. Pour supprimer toutes les règles de cycle de vie, vous devez disposer de l'autorisation oss:DeleteBucketLifecycle. Pour plus de détails, reportez-vous à la rubrique Accorder des stratégies d'accès personnalisées à un utilisateur RAM.

Configurer des règles de cycle de vie pour un bucket

L'exemple de code suivant montre comment configurer des règles de cycle de vie basées sur la date de dernière modification pour un bucket nommé examplebucket. Pour modifier les règles existantes, suivez les instructions fournies dans la rubrique Comment modifier la configuration d'une ou plusieurs règles de cycle de vie ?

require 'aliyun/oss'

client = Aliyun::OSS::Client.new(
  # The China (Hangzhou) Endpoint is used as an example. Replace it with the actual Endpoint.
  endpoint: 'https://oss-cn-hangzhou.aliyuncs.com',
  # Obtain access credentials from environment variables. Before you run the sample code, make sure that the OSS_ACCESS_KEY_ID and OSS_ACCESS_KEY_SECRET environment variables are set.
  access_key_id: ENV['OSS_ACCESS_KEY_ID'],
  access_key_secret: ENV['OSS_ACCESS_KEY_SECRET']
)
# Specify the bucket name.
bucket = client.get_bucket('examplebucket')
# Set the lifecycle rules.
bucket.lifecycle = [
  Aliyun::OSS::LifeCycleRule.new(
    :id => 'rule1', :enable => true, :prefix => 'foo/', :expiry => 3),
  Aliyun::OSS::LifeCycleRule.new(
    :id => 'rule2', :enable => false, :prefix => 'bar/', :expiry => Date.new(2016, 1, 1))
]

Interroger les règles de cycle de vie d'un bucket

Le code ci-dessous illustre la procédure pour récupérer les règles de cycle de vie configurées sur le bucket examplebucket :

require 'aliyun/oss'

client = Aliyun::OSS::Client.new(
  # The China (Hangzhou) Endpoint is used as an example. Replace it with the actual Endpoint.
  endpoint: 'https://oss-cn-hangzhou.aliyuncs.com',
  # Obtain access credentials from environment variables. Before you run the sample code, make sure that the OSS_ACCESS_KEY_ID and OSS_ACCESS_KEY_SECRET environment variables are set.
  access_key_id: ENV['OSS_ACCESS_KEY_ID'],
  access_key_secret: ENV['OSS_ACCESS_KEY_SECRET']
)
# Specify the bucket name.
bucket = client.get_bucket('examplebucket')
# View the lifecycle rules.
rules = bucket.lifecycle
puts rules

Supprimer toutes les règles de cycle de vie d'un bucket

L'extrait de code suivant explique comment supprimer les règles de cycle de vie associées au bucket examplebucket. Si vous souhaitez retirer uniquement certaines règles, référez-vous aux étapes décrites dans la rubrique Comment supprimer une ou plusieurs règles de cycle de vie ?

require 'aliyun/oss'

client = Aliyun::OSS::Client.new(
  # The China (Hangzhou) Endpoint is used as an example. Replace it with the actual Endpoint.
  endpoint: 'https://oss-cn-hangzhou.aliyuncs.com',
  # Obtain access credentials from environment variables. Before you run the sample code, make sure that the OSS_ACCESS_KEY_ID and OSS_ACCESS_KEY_SECRET environment variables are set.
  access_key_id: ENV['OSS_ACCESS_KEY_ID'],
  access_key_secret: ENV['OSS_ACCESS_KEY_SECRET']
)
# Specify the bucket name.
bucket = client.get_bucket('examplebucket')
# Delete all lifecycle rules.
bucket.lifecycle = []

Références

  • Pour en savoir plus sur l'opération API permettant de configurer des règles de cycle de vie, consultez la rubrique PutBucketLifecycle.

  • Pour en savoir plus sur l'opération API permettant d'interroger les règles de cycle de vie, consultez la rubrique GetBucketLifecycle.

  • Pour en savoir plus sur l'opération API permettant de supprimer les règles de cycle de vie, consultez la rubrique DeleteBucketLifecycle.