Skip to main content

Regras do ciclo de vida

PUT /v1/buckets/{bucket}/lifecycle substitui toda a configuração. Cada regra precisa de um status e pelo menos uma ação; uma regra com status: disabled permanece na configuração, mas é ignorada durante a avaliação. Leia GET /v1/buckets/{bucket}/lifecycle antes de alterá-lo. A resposta contém lifecycle e revision, com a mesma revisão citada no cabeçalho ETag. Um bucket sem configuração retorna regras vazias e revisão none. Tanto PUT como DELETE requerem um cabeçalho If-Match contendo a revisão citada. Cabeçalhos ausentes retornam 428; revisões obsoletas retornam 412 com LIFECYCLE_CONFLICT. Recarregar, revisar a configuração mais recente e reaplicar as alterações deliberadamente. Wildcards e ETags fracos não são aceitos.
A guia Management do bucket tem um cartão Lifecycle rules. Add rule fornece um Prefix filter e as ações baseadas em dias: Expire current objects after (days), Expire noncurrent versions after (days) com uma opção Always keep newest (versions) e Abort incomplete multipart uploads after (days). Cada regra tem seu próprio parâmetro de ativação, e Save grava o conjunto inteiro.Escolha Transition storage class (STANDARD ou COLD) e insira Transition after (days) para mover objetos antes de expirarem. Os dias devem ser inteiros positivos e anteriores à expiração baseada em dias. Remove transition limpa a transição explicitamente.Salvar preserva campos que o cartão não pode editar, incluindo datas absolutas. A inserção de dias de expiração ou transição substitui a data absoluta dessa ação. A remoção de uma regra ou da configuração também remove seus campos preservados. Se outro editor alterou a configuração, o console a atualiza e mantém o rascunho para revisão. Ele não substitui automaticamente as alterações.
Essas pré-condições se aplicam à API nativa. As operações do ciclo de vida do S3 retêm o comportamento de substituição incondicional padrão. Uma atualização do S3 ainda altera a revisão, então uma edição nativa de API mais antiga é rejeitada. As regras são avaliadas de forma independente, de modo que um objeto que corresponde a várias está sujeito a todas as suas ações. filter.prefix restringe uma regra; um filtro ausente ou vazio aplica-o ao bucket inteiro.
Uma transição mantém a identidade do objeto — mesma chave, mesmo id de versão, mesmo último modificado — e move apenas seus bytes. É isso que faz com que o emparelhamento de uma transição com um expiramento funcione: a movimentação não reinicia o relógio de expiração.
Duas restrições em transições, ambas rejeitadas no momento da gravação em vez de falhar silenciosamente mais tarde:
  • Uma transição deve ocorrer estritamente antes da expiração da regra. Caso contrário, o objeto seria excluído antes mesmo de ser movido.
  • Uma transição por regra. Com duas classes de armazenamento, um segundo não tem para onde ir. O ponto de extremidade S3 aceita uma lista de um único elemento <Transition> e rejeita os mais longos em vez de aplicar o primeiro e ignorar o resto.