Tenho um bucket do Amazon Simple Storage Service (Amazon S3) que armazena milhões de objetos. Quero usar uma regra de configuração de ciclo de vida para esvaziar o bucket para não ser cobrado pelo armazenamento.
Resolução
Importante: a resolução a seguir exclui permanentemente todos os dados do bucket do Amazon S3. Como não é possível recuperar os dados, revise os objetos e dados do bucket antes de excluí-los.
Para esvaziar um bucket com uma regra de configuração de ciclo de vida, use o console ou a CLI.
Usando o console
Crie uma regra de configuração de ciclo de vida no console que expire as versões atuais dos objetos e exclua permanentemente as versões anteriores dos objetos. Para criar a regra, conclua as seguintes etapas:
- Abra o console do Amazon S3.
- Na lista de buckets, escolha aquele que você deseja esvaziar.
- Escolha a guia Gerenciamento.
- Escolha Criar regra de ciclo de vida.
- Em Nome da regra de ciclo de vida, insira um nome para a regra.
- Em Escolher um escopo de regra, escolha Aplicar a todos os objetos do bucket.
- Selecione Reconheço que esta regra se aplicará a todos os objetos do bucket.
- Para Ações de regras de ciclo de vida, selecione as seguintes opções: Expirar versões atuais de objetos Excluir permanentemente versões não atuais de objetos Excluir objetos expirados Excluir marcadores ou carregamentos fracionados incompletos
- No campo Expirar versões atuais de objetos, no campo Dias após a criação do objeto, insira 1.
- No campo Excluir permanentemente versões não atuais de objetos, no campo Dias após os objetos se tornarem não atuais, insira 1.
- Para excluir todas as versões, deixe o campo Número de versões mais recentes a serem retidas (Opcional) vazio.
- Selecione Excluir carregamentos fracionados incompletos e, em seguida, insira 1 no campo Número de dias.
- Selecione Criar regra.
- Para criar uma segunda regra de ciclo de vida, repita as etapas de 4 a 7.
- Selecione as seguintes opções: Excluir marcadores de exclusão de objetos expirados ou carregamentos fracionados incompletos.
- Selecione Excluir marcadores de exclusão de objeto expirados.
- Selecione Criar regra.
O Amazon S3 executa regras de ciclo de vida uma vez por dia. Depois da primeira vez que o Amazon S3 executa as regras, todos os objetos qualificados para expiração são marcados para exclusão. Você não será mais cobrado por objetos marcados para exclusão.
O Amazon S3 expira versões de objetos e remove marcadores de exclusão de forma assíncrona. As regras podem levar alguns dias para serem executadas até que o bucket fique vazio. Para obter mais informações sobre essa remoção assíncrona de objetos no Amazon S3, consulte Expirando objetos.
Usando a CLI
Use a AWS Command Line Interface (AWS CLI) para criar uma regra de ciclo de vida para esvaziar seu bucket do S3 concluindo as seguintes etapas:
- Crie um arquivo (como lifecycle-rules.json) com seu conteúdo JSON.
Exemplo de JSON:
{
"Rules": [{
"Expiration": {
"Days": 1
},
"ID": "FullDelete",
"Filter": {
"Prefix": ""
},
"Status": "Enabled",
"NoncurrentVersionExpiration": {
"NoncurrentDays": 1
},
"AbortIncompleteMultipartUpload": {
"DaysAfterInitiation": 1
}
},
{
"Expiration": {
"ExpiredObjectDeleteMarker": true
},
"ID": "DeleteMarkers",
"Filter": {
"Prefix": ""
},
"Status": "Enabled"
}
]
}
- Use o arquivo JSON em seu comando da AWS CLI:
aws s3api put-bucket-lifecycle-configuration --bucket delete-marker-testing-demo --lifecycle-configuration file://lifecycle-rules.json
Observação: não é possível adicionar um prefixo para aplicar a regra somente no nível do prefixo, como o seguinte:
"Filter": {
"Prefix": "folder1/"
},
Informações relacionadas
Como remover marcadores de exclusão de objetos expirados em um bucket com versionamento
Como gerenciar o ciclo de vida dos objetos
Como excluo objetos e buckets do Amazon S3?
Como excluir um bucket
Como definir a configuração do ciclo de vida de S3 em um bucket