Expirando objetos
É possível adicionar ações de transição a uma configuração do Ciclo de Vida do S3 para solicitar que o Amazon S3 exclua objetos no final de sua vida útil. Quando um objeto atinge o fim de seu ciclo de vida, com base na respectiva configuração de ciclo de vida, o Amazon S3 realiza uma ação Expiration
de acordo com o estado do Versionamento do S3 no qual o bucket está:
-
Bucket sem versionamento: o Amazon S3 coloca o objeto em uma fila para remoção e o remove de maneira assíncrona, eliminando-o permanentemente.
-
Bucket com versionamento habilitado: se a versão atual do objeto não for um marcador de exclusão, o Amazon S3 adicionará um com um ID exclusivo de versão. Isso torna a versão atual desatualizada, e o marcador de exclusão se torna a versão atual.
-
Bucket com versionamento suspenso: o Amazon S3 cria um marcador de exclusão com ID de versão nulo. Esse marcador de exclusão substitui qualquer versão de objeto por um ID de versão nulo na hierarquia de versões, que exclui o objeto.
Para um bucket com versionamento (ou seja, versionamento habilitado ou suspenso), há várias considerações que orientam como o Amazon S3 trata a ação Expiration
. Para buckets com versionamento habilitado ou suspenso, o seguinte se aplica:
-
A expiração do objeto se aplica somente à versão atual de um objeto (não afeta versões desatualizadas de objetos).
-
O Amazon S3 não realizará ações se houver uma ou mais versões de objeto e se o marcador de exclusão estiver na versão atual.
-
Se a versão atual do objeto for a única versão do objeto e também houver um marcador de exclusão (também chamado de marcador de exclusão de objeto expirado, onde todas as versões do objeto são excluídas e você tem somente um marcador de exclusão restante), o Amazon S3 removerá o marcador de exclusão de objeto expirado. Você também pode usar a ação
Expiration
para instruir o Amazon S3 a remover os marcadores de exclusão do objeto expirado. Por exemplo, consulte Remover marcadores de exclusão de objetos expirados em um bucket com versionamento habilitado. -
Você pode usar o elemento de ação
NoncurrentVersionExpiration
para instruir o Amazon S3 a excluir permanentemente versões de objetos desatualizadas. Esses objetos excluídos não podem ser recuperados. Esse prazo de validade pode se basear em determinado número de dias desde o momento em que os objetos se tornam desatualizados. Além do número de dias, você também pode fornecer um número máximo de versões desatualizadas que devem ser retidas (entre 1 e 100). Esse valor especifica quantas versões desatualizadas mais recentes devem existir antes que o Amazon S3 possa executar a ação associada em uma determinada versão. Para especificar o número máximo de versões não atuais, também é necessário fornecer um elementoFilter
. Se não especificar um elementoFilter
, o Amazon S3 gerará um erroInvalidRequest
quando você fornecer um número máximo de versões não atuais. Para obter mais informações sobre como usar o elemento de açãoNoncurrentVersionExpiration
, consulte Elementos para descrever ações de ciclo de vida. -
O Amazon S3 não realiza nenhuma ação em versões não atuais de objetos que tenham a configuração de Bloqueio de Objetos do S3 aplicada.
-
Em relação a objetos com o status de replicação
Pending
, o Amazon S3 não realiza nenhuma ação em versões atuais ou não atuais dos objetos.
Para obter mais informações, consulte Reter várias versões de objetos com o Versionamento do S3.
Importante
Quando você tem várias regras em uma configuração do ciclo de vida do S3, um objeto pode se tornar elegível para várias ações do ciclo de vida do S3 no mesmo dia. Nesses casos, o Amazon S3 segue estas regras gerais:
-
A exclusão permanente tem precedência sobre a transição.
-
A transição tem precedência sobre a criação de marcadores de exclusão.
-
Quando um objeto é elegível para transição às classes S3 Glacier Flexible Retrieval e S3 Standard-IA (ou S3 One Zone-IA), o Amazon S3 escolhe a transição para a classe S3 Glacier Flexible Retrieval.
Para obter exemplos, consulte Exemplos de filtros sobrepostos e ações de ciclo de vida conflitantes.
Objetos existentes e novos
Quando você adiciona uma configuração do ciclo de vida a um bucket, as regras de configuração se aplicam aos objetos existentes e aos objetos que serão adicionados no futuro. Por exemplo, se você adicionar uma regra de configuração da funcionalidade Ciclo de Vida hoje com uma ação de expiração que faz com que os objetos com um prefixo específico expirem 30 dias após sua criação, o Amazon S3 organizará para exclusão todos os objetos existentes com o prefixo especificado e com mais de 30 dias.
Importante
Você não pode usar uma política de bucket para evitar exclusões ou transições por meio de uma regra de ciclo de vida do S3. Por exemplo, mesmo que a política de bucket negue todas as ações para todas as entidades principais, a configuração do ciclo de vida do S3 ainda funcionará normalmente.
Como descobrir quando os objetos expiram
Para descobrir quando a versão atual de um objeto está programada para expirar, use as operações de API HeadObject ou GetObject. Essas operações de API exibem os cabeçalhos de resposta que fornecem a data e a hora em que não é mais possível armazenar a versão atual do objeto em cache.
nota
-
Pode haver um atraso entre a data de expiração e a data em que o Amazon S3 remove um objeto. Você não será cobrado pela validade ou tempo de armazenamento associado a um objeto que expirou.
-
Antes de atualizar, desabilitar ou excluir regras de ciclo de vida, use as operações de API
LIST
(como ListObjectsV2, ListObjectVersions e ListMultipartUploads) ou Catalogar e analisar seus dados com o Inventário S3 para verificar se o Amazon S3 fez a transição e descontinuou os objetos elegíveis com base em seus casos de uso.
Cobrança da duração mínima de armazenamento
Se você criar uma regra de expiração do S3 Lifecycle que fará com que os objetos que estiveram no armazenamento S3 Standard – IA ou S3 One Zone – IA por menos de 30 dias expirem, você será cobrado por 30 dias. Se criar uma regra de validade do Lifecycle que resulte na expiração de objetos armazenados na classe S3 Glacier Flexible Retrieval por pelo menos 90 dias, você será cobrado por 90 dias. Se você criar uma regra de expiração do ciclo de vida que faça com que os objetos que estiveram no armazenamento do S3 Glacier Deep Archive por menos de 180 dias expirem, será cobrado por 180 dias.
Para obter mais informações, consulte Preço do Amazon S3