Todos os produtos
Search
Central de documentação

Object Storage Service:Ciclo de vida (Ruby SDK)

Última atualização: Jul 03, 2026

Alguns dados enviados ao Object Storage Service (OSS) podem não ser acessados com frequência, mas ainda precisam ser mantidos em armazenamento frio para atender a requisitos de conformidade ou arquivamento. Além disso, você pode precisar excluir dados obsoletos em lote para reduzir custos de armazenamento. Nesses casos, configure regras de ciclo de vida com base na última modificação para converter periodicamente dados quentes em dados frios ou excluir objetos indesejados.

Observações de uso

  • Este tópico utiliza o endpoint público da região China (Hangzhou). Para acessar o OSS a partir de outros serviços da Alibaba Cloud na mesma região, use um endpoint interno. Para obter detalhes sobre as regiões e endpoints compatíveis, consulte Regiões e endpoints.

  • O exemplo abaixo demonstra a criação de uma instância OSSClient com um endpoint do OSS. Para configurações alternativas, como uso de domínio personalizado ou autenticação com credenciais do Security Token Service (STS), consulte Criar um OssClient.

  • Para definir regras de ciclo de vida, é necessária a permissão oss:PutBucketLifecycle. Para visualizar essas regras, é necessária a permissão oss:GetBucketLifecycle. Para excluir todas as regras de ciclo de vida, é necessária a permissão oss:DeleteBucketLifecycle. Para mais informações, consulte Conceder políticas de acesso personalizadas a um usuário RAM.

Configurar regras de ciclo de vida para um bucket

O código de exemplo a seguir mostra como configurar regras de ciclo de vida com base na última modificação para um bucket chamado examplebucket. Para modificar regras existentes, siga as instruções em Como alterar as configurações de uma ou mais regras de ciclo de vida?

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))
]

Consultar as regras de ciclo de vida de um bucket

O exemplo de código abaixo ilustra como consultar as regras de ciclo de vida configuradas no 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

Excluir todas as regras de ciclo de vida de um bucket

O trecho de código a seguir exemplifica a exclusão das regras de ciclo de vida do examplebucket. Para remover apenas regras específicas, siga as orientações em Como excluir uma ou mais regras de ciclo de vida?

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 = []

Referências

  • Para detalhes sobre a operação de API usada na configuração de regras de ciclo de vida, consulte PutBucketLifecycle.

  • Saiba mais sobre a operação de API para consulta de regras de ciclo de vida em GetBucketLifecycle.

  • Informações adicionais sobre a operação de API destinada à exclusão de regras de ciclo de vida estão disponíveis em DeleteBucketLifecycle.