

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# Automatizar a limpeza de imagens usando políticas de ciclo de vida no Amazon ECR
<a name="LifecyclePolicies"></a>

As políticas de ciclo de vida do Amazon ECR fornecem mais controle sobre o gerenciamento de ciclo de vida de imagens em um repositório privado. Uma política de ciclo de vida contém uma ou mais regras, e cada regra define uma ação do Amazon ECR. Com base nos critérios de expiração da política de ciclo de vida, as imagens podem ser arquivadas ou expiradas com base nos critérios especificados na política de ciclo de vida em 24 horas. Quando o Amazon ECR executa uma ação com base em uma política de ciclo de vida, ela é capturada como um evento no AWS CloudTrail. Para obter mais informações, consulte [Registrando ações do Amazon ECR com AWS CloudTrail](logging-using-cloudtrail.md).

## Como funcionam as políticas de ciclo
<a name="lifecycle-policy-howitworks"></a>

Uma política de ciclo de vida consiste em uma ou mais regras que determinam quais imagens em um repositório devem perder a validade. Ao considerar o uso de políticas de ciclo de vida, é importante usar a visualização da política de ciclo de vida para confirmar de quais imagens a política de ciclo de vida expira a validade antes de aplicá-la a um repositório. Depois que uma política de ciclo de vida é aplicada a um repositório, você deve esperar que as imagens expirem dentro de 24 horas após atenderem aos critérios de expiração. Quando o Amazon ECR executa uma ação com base em uma política de ciclo de vida, ela é capturada como um evento no AWS CloudTrail. Para obter mais informações, consulte [Registrando ações do Amazon ECR com AWS CloudTrail](logging-using-cloudtrail.md).

O diagrama a seguir mostra um fluxo de trabalho da política de ciclo de vida.

![O diagrama mostra o processo de avaliação e aplicação de uma política de ciclo de vida.](http://docs.aws.amazon.com/pt_br/AmazonECR/latest/userguide/images/lifecycle-policy.png)


1. Crie uma ou mais regras de teste.

1. Salve as regras de teste e execute a visualização.

1. O avaliador de políticas de ciclo de vida percorre todas as regras e marca as imagens que cada regra afeta.

1. O avaliador da política de ciclo de vida então aplica as regras, com base na prioridade da regra, e exibe quais imagens no repositório estão definidas para serem expiradas ou arquivadas. Um número de prioridade de regra mais baixo significa maior prioridade. Por exemplo, uma regra com prioridade 1 tem precedência sobre uma regra com prioridade 2.

1. Analise os resultados do teste, garantindo que as imagens marcadas como expiradas ou arquivadas sejam as desejadas.

1. Aplique as regras de teste como política de ciclo de vida para o repositório.

1. Depois que a política de ciclo de vida for criada, você deve esperar que as imagens expirem ou sejam arquivadas dentro de 24 horas após atenderem aos critérios de expiração.

### Regras de avaliação de política de ciclo de vida
<a name="lp_evaluation_rules"></a>

O avaliador da política de ciclo de vida é responsável por analisar o JSON de texto simples da política de ciclo de vida, avaliando todas as regras e aplicando essas regras com base na prioridade da regra às imagens no repositório. A seguir encontra-se a explicação mais detalhada da lógica do avaliador de políticas de ciclo de vida. Para obter exemplos, consulte [Exemplos de políticas de ciclo de vida no Amazon ECR](lifecycle_policy_examples.md).
+ Quando artefatos de referência estão presentes em um repositório, as políticas de ciclo de vida do Amazon ECR expiram automaticamente ou arquivam esses artefatos dentro de 24 horas após a exclusão ou arquivamento da imagem em questão.
+ Todas as regras são avaliadas ao mesmo tempo, independentemente da prioridade da regra. Depois que todas as regras são avaliadas, elas são aplicadas com base na prioridade da regra.
+ Uma imagem é expirada ou arquivada por exatamente uma ou zero regras.
+ Uma imagem que corresponda aos requisitos de marcação de uma regra não pode ser expirada ou arquivada por uma regra com prioridade mais baixa.
+ As regras nunca podem marcar imagens marcadas por regras de prioridade mais alta, mas ainda podem identificá-las como se não tivessem expirado ou arquivadas.
+ O conjunto de todas as regras que selecionam uma classe de armazenamento específica deve conter um conjunto exclusivo de prefixos.
+ Somente uma regra de seleção de uma classe de armazenamento específica pode selecionar imagens não marcadas.
+ Se uma imagem for referenciada por uma lista de manifestos, ela não poderá ser expirada ou arquivada sem que a lista de manifestos seja excluída ou arquivada primeiro.
+ A expiração é sempre ordenada por `pushed_at_time` ou `transitioned_at_time` e sempre expira as imagens mais antigas antes das mais novas. Se uma imagem foi arquivada e depois restaurada em algum momento no passado, a imagem `last_activated_at` é usada em vez de`pushed_at_time`.
+ Uma regra de política de ciclo de vida pode especificar um `tagPatternList` ou `tagPrefixList`, mas não ambos. Porém, uma política de ciclo de vida pode conter várias regras em que regras diferentes usam listas de padrões e prefixos. Uma imagem será correspondida com êxito se todas as tags no valor `tagPatternList` ou `tagPrefixList` corresponderem a qualquer tag da imagem. 
+ Os parâmetros `tagPatternList` ou `tagPrefixList` apenas poderão ser usados se o `tagStatus` for `tagged`.
+ Ao usar `tagPatternList`, uma imagem será correspondida com êxito se corresponder ao filtro de curinga. Por exemplo, se um filtro de `prod*` for aplicado, ele corresponderá às tags de imagem cujo nome comece com `prod`, como `prod`, `prod1` ou `production-team1`. Da mesma maneira, se um filtro de `*prod*` for aplicado, ele corresponderá às tags de imagem cujo nome contenha `prod`, como `repo-production` ou `prod-team`.
**Importante**  
Existe um limite máximo de quatro curingas (`*`) por string. Por exemplo, `["*test*1*2*3", "test*1*2*3*"]` é válido, mas `["test*1*2*3*4*5*6"]` é inválido.
+ Ao usar `tagPrefixList`, uma imagem será correspondida com êxito se ***todos*** os filtros de curinga no valor `tagPrefixList` corresponderem a qualquer tag da imagem.
+ O `countUnit` parâmetro só é usado se `countType` for `sinceImagePushed``sinceImagePulled`, ou`sinceImageTransitioned`.
+ Com`countType = imageCountMoreThan`, as imagens são classificadas da mais nova para a mais antiga com base em `pushed_at_time` e, em seguida, todas as imagens maiores que a contagem especificada expiram ou são arquivadas.
+ Com`countType = sinceImagePushed`, todas as imagens mais `pushed_at_time` antigas do que o número especificado de dias com base em `countNumber` expiram ou são arquivadas.
+ Com`countType = sinceImagePulled`, todas as imagens mais `last_recorded_pulltime` antigas do que o número de dias especificado com base em `countNumber` são arquivadas. Se uma imagem nunca foi extraída, a imagem `pushed_at_time` é usada em vez da`last_recorded_pulltime`. Se uma imagem foi arquivada e depois restaurada em algum momento no passado, mas nunca foi retirada desde que a imagem foi restaurada, a imagem `last_activated_at` é usada em vez da`last_recorded_pulltime`.
+ Com`countType = sinceImageTransitioned`, todas as imagens arquivadas `last_archived_at` mais antigas do que o número especificado de dias com base em `countNumber` expiram.
+ A expiração é sempre ordenada por `pushed_at_time` e sempre expira as imagens mais antigas antes das novas.