Este tópico descreve os elementos configuráveis no arquivo de configuração das regras de ciclo de vida para objetos.
Exemplo no formato XML
<LifecycleConfiguration>
<Rule>
<ID>rule1</ID>
<Prefix>logs/</Prefix>
<Status>Enabled</Status>
<Filter>
<Not>
<Prefix>logs/excluded/</Prefix>
<Tag><Key>key1</Key><Value>value1</Value></Tag>
</Not>
</Filter>
<Expiration>
<Days>10</Days>
</Expiration>
</Rule>
<Rule>
<ID>rule2</ID>
<Prefix>doc/</Prefix>
<Status>Disabled</Status>
<Expiration>
<CreatedBeforeDate>2017-12-31T00:00:00.000Z</CreatedBeforeDate>
</Expiration>
</Rule>
<Rule>
<ID>rule3</ID>
<Prefix>logs2/</Prefix>
<Tag><Key>xx</Key><Value>1</Value></Tag>
<Status>Enabled</Status>
<Transition>
<Days>60</Days>
<StorageClass>Archive</StorageClass>
</Transition>
</Rule>
</LifecycleConfiguration>
Os itens a seguir descrevem as três regras de ciclo de vida do exemplo anterior:
A primeira regra exclui objetos com o prefixo
logs/modificados há mais de 10 dias. Objetos com o prefixologs/excluded/e tagkey1:value1não são excluídos.A segunda regra excluiria objetos com o prefixo
doc/modificados antes de 31 de dezembro de 2017. Essa regra está desativada e não entra em vigor.A terceira regra converte a classe de armazenamento para Archive nos objetos que atendem às seguintes condições: nome com o prefixo
logs2/, tagxx:1e última modificação há 60 dias.
As seções a seguir detalham os elementos configuráveis no arquivo de regras de ciclo de vida para objetos, como os elementos ID e Operation.
ID
O elemento ID define o identificador da regra de ciclo de vida configurada para um bucket. Esse identificador pode ter até 255 bytes. Se você não configurar esse elemento ou deixá-lo vazio, o Object Storage Service (OSS) gera automaticamente um ID exclusivo para a regra.
Status
O elemento Status determina o estado da regra de ciclo de vida. Defina o status como Enabled ou Disabled. Apenas as regras com o elemento Status definido como Enabled entram em vigor.
Prefix
O elemento Prefix especifica o prefixo do nome do objeto usado para aplicar a regra de ciclo de vida a todos os objetos ou a objetos específicos em um bucket.
Filter
O elemento Filter estabelece a condição de filtragem de uma regra de ciclo de vida. A regra aplica-se apenas aos objetos que atendem a todas as condições definidas nesse elemento.
Not
Ao usar uma regra de ciclo de vida para processar objetos com um determinado prefixo e tags específicas, talvez seja necessário ignorar alguns deles. Nesse caso, especifique no elemento Not os prefixos e as tags dos objetos a serem excluídos do processamento.
Se houver várias regras de ciclo de vida configuradas para o bucket, o elemento Not terá efeito apenas nas regras em que for explicitamente especificado.
Exemplos:
Configure uma regra de ciclo de vida com ID rule1 para excluir objetos com o prefixo
dir130 dias após a última modificação.Configure uma regra de ciclo de vida com ID rule2 para converter a classe de armazenamento de objetos com o prefixo
dir1para Infrequent Access (IA) 20 dias após a última modificação. Use o elemento Not para impedir a conversão da classe de armazenamento dos objetos no diretóriodir1/dir2/.
<LifecycleConfiguration>
<Rule>
<ID>rule1</ID>
<Prefix>dir1/</Prefix>
<Status>Enabled</Status>
<Expiration>
<Days>30</Days>
</Expiration>
</Rule>
<Rule>
<ID>rule2</ID>
<Prefix>dir1/</Prefix>
<Status>Disabled</Status>
<Filter>
<Not>
<Prefix>dir1/dir2/</Prefix>
</Not>
</Filter>
<Transition>
<Days>20</Days>
<StorageClass>IA</StorageClass>
</Transition>
</Rule>
</LifecycleConfiguration>
Consequentemente, o elemento Not afeta apenas a regra rule2. Com base na regra rule1, os objetos com o prefixo dir1 são excluídos 30 dias após a última modificação.
Para mais informações, consulte Lifecycle rules based on the last modified time.
Time
-
Date
O elemento filho
<CreatedBeforeDate>define uma data fixa. Todos os objetos modificados antes dessa data são excluídos ou têm sua classe de armazenamento convertida. -
Days
O elemento filho
<Days>especifica o período de validade dos objetos após a última modificação. Ao término desse período, os objetos são excluídos ou suas classes de armazenamento são convertidas.
Operation
Você pode configurar um ou mais elementos Operation em uma regra de ciclo de vida para os objetos correspondentes. O OSS executa as operações especificadas quando esses objetos expiram. O efeito das operações varia conforme o status de versionamento do bucket onde os objetos estão armazenados. As tabelas a seguir explicam como o status de versionamento do bucket influencia a operação definida na regra de ciclo de vida.
-
Bucket com versionamento desativado
Operation
Description
Transition
Converte a classe de armazenamento dos objetos correspondentes à regra de ciclo de vida quando eles expiram, conforme a data ou período de validade especificado. Para detalhes sobre as classes de armazenamento disponíveis nas regras de ciclo de vida, consulte Convert storage classes.
Expiration
Exclui os objetos correspondentes à regra de ciclo de vida quando eles expiram, de acordo com a data ou período de validade definido na regra.
-
Bucket com versionamento ativado
As tabelas a seguir detalham os elementos Operation aplicáveis em regras de ciclo de vida para objetos em buckets versionados. Isso inclui buckets com versionamento ativado e aqueles com versionamento suspenso:
-
Operação de exclusão ou conversão de classe de armazenamento na versão atual de um objeto
Operation
Description
Expiration
A operação executada em um objeto expirado depende se a versão atual é um marcador de exclusão.
-
Se a versão atual do objeto não for um marcador de exclusão, o OSS processa a versão seguindo estas regras:
-
Quando o versionamento está ativado no bucket do objeto, o OSS insere um marcador de exclusão com um ID de versão exclusivo. Esse marcador substitui a versão atual do objeto.
-
Quando o versionamento está suspenso no bucket do objeto, o OSS insere um marcador de exclusão com ID de versão nulo. Esse novo marcador sobrescreve a versão atual com ID nulo, garantindo que exista apenas uma versão do objeto com ID nulo.
-
-
Se a versão atual do objeto for um marcador de exclusão, o OSS segue estas regras:
-
Caso existam versões anteriores do objeto, nenhuma operação da regra de ciclo de vida é acionada.
-
Se existir apenas uma versão do objeto, o marcador de exclusão será removido ao expirar (conforme a data ou período de validade da regra) ou se o elemento filho ExpiredObjectDeleteMarker estiver definido como true na regra de ciclo de vida.
Importante-
Quando a operação Expiration de uma regra de ciclo de vida exclui a versão atual de um objeto, ou quando uma exclusão ocorre sem especificar a versão, a versão atual torna-se uma versão anterior. Se a operação Expiration excluir uma versão anterior, ou se uma exclusão for iniciada em uma versão anterior específica, essa versão será permanentemente removida e restará apenas o marcador de exclusão expirado do objeto.
-
Não é possível configurar simultaneamente o elemento filho ExpiredObjectDeleteMarker e especificar uma tag na mesma regra de ciclo de vida.
-
-
Transition
Converte a classe de armazenamento da versão atual dos objetos correspondentes à regra de ciclo de vida quando eles expiram, conforme a data ou período de validade especificado na regra.
-
-
Operação de exclusão ou conversão de classe de armazenamento nas versões anteriores dos objetos
Operation
Description
Associated child element
NoncurrentVersionExpiration
Exclui os objetos correspondentes à regra de ciclo de vida quando as versões anteriores expiram, conforme a data ou período de validade definido na regra.
O elemento filho <NoncurrentDays> define quantos dias se passam entre o momento em que as versões atuais se tornam versões anteriores e o momento da exclusão permanente dessas versões anteriores.
NotaPor exemplo, suponha que uma versão era a versão atual de um objeto antes de 1º de maio de 2019. Em 1º de maio de 2019, a operação PutObject foi chamada e essa versão tornou-se anterior. No elemento NoncurrentVersionExpiration, <NoncurrentDays> está definido como 3. Em 4 de maio de 2019, a versão foi permanentemente excluída. Sempre que a operação PutObject é chamada para um objeto, a versão atual torna-se a versão anterior mais recente, e a versão carregada passa a ser a versão atual. O OSS determina quando uma versão se torna anterior com base no horário de criação da próxima versão.
NoncurrentVersionTransition
Converte a classe de armazenamento dos objetos correspondentes à regra de ciclo de vida quando as versões anteriores desses objetos expiram, conforme a data ou período de validade especificado na regra.
-
O elemento filho <NoncurrentDays> define o número de dias entre o momento em que as versões atuais se tornam versões anteriores e o momento da conversão da classe de armazenamento dos objetos.
-
O elemento filho <StorageClass> indica a classe de armazenamento de destino para a conversão.
-
-