Login
Login

Versionamento de objetos

Atualizado em 18 de February de 2026

O versionamento no S3 permite reter todas as alterações feitas nos objetos enviados a um bucket. Isso ajuda a proteger os dados contra exclusões ou sobrescritas acidentais e permite restaurar versões anteriores quando necessário.

O versionamento pode ser ativado usando diferentes clientes, como AWS CLI, S3 Browser e outros. Este artigo aborda o trabalho com versões usando AWS CLI.

Ativar versionamento

O versionamento pode ser ativado pelo painel de controle ou usando clientes como AWS CLI, S3 Browser e outros.

Usando o Painel de Controle

  1. Vá até a seção Armazenamento S3 e clique no bucket.
  2. Abra a aba Configurações e clique em Alterar ao lado de O histórico de versões está desativado.

Versions

  1. Confirme a ativação do versionamento clicando em Ativar versionamento.

Uma vez ativado, o versionamento não pode ser totalmente desativado para o bucket; ele só pode ser suspenso.

Usando AWS CLI

Para ativar o versionamento em um bucket S3 via AWS CLI, execute:

aws s3api put-bucket-versioning --bucket <bucket_name> --versioning-configuration Status=Enabled --endpoint-url https://s3.hmstorage.net

Para verificar se o versionamento está ativo:

aws s3api get-bucket-versioning --bucket <bucket_name> --endpoint-url https://s3.hmstorage.net

Saída esperada:

{
    "Status": "Enabled",
    "MFADelete": "Disabled"
}

Testar o versionamento

Exemplo de como o versionamento funciona:

  1. Crie um arquivo de teste:

echo "Version 1" > testfile.txt
  1. Envie para o bucket:

aws s3 cp testfile.txt s3://<bucket_name>/ --endpoint-url https://s3.hmstorage.net
  1. Atualize o arquivo:

echo "Version 2" > testfile.txt
  1. Envie novamente:

aws s3 cp testfile.txt s3://<bucket_name>/ --endpoint-url https://s3.hmstorage.net

Agora o arquivo possui múltiplas versões. Para verificá-las:

aws s3api list-object-versions --bucket <bucket_name> --prefix testfile.txt --endpoint-url https://s3.hmstorage.net

Exemplo de saída:

{
    "Versions": [
        {
            "Key": "testfile.txt",
            "VersionId": "S7hpDH6F0RYfubNoTjin6hpBu5ewDj.",
            "IsLatest": true
        },
        {
            "Key": "testfile.txt",
            "VersionId": "pdFehsuCbaPz2hNh4b9DBndfEwzjTfH",
            "IsLatest": false
        }
    ]
}

Observações importantes

  • Cada versão do objeto ocupa espaço no bucket.
  • As versões dos objetos não são exibidas no painel de controle ou em outros clientes S3.
  • Mesmo se um objeto for excluído, todas as suas versões permanecem no bucket.

Trabalhar com versões no Painel de Controle

Para visualizar a lista de versões de um objeto:

  1. Vá até Armazenamento S3 e clique no bucket.
  2. Abra a aba Objetos.
  3. Clique nos três pontos ao lado do objeto e selecione Histórico de versões.
  4. Passe o cursor sobre uma versão para ver as ações disponíveis:
    • Link do arquivo: gera uma URL pré-assinada para esta versão do objeto.
    • Baixar: permite baixar a versão selecionada.
    • Restaurar versão do objeto: torna a versão selecionada a versão atual.
    • Excluir versão do objeto: ao clicar nos três pontos, permite excluir a versão escolhida.

Gerenciar versões de objetos

Listar todas as versões de um objeto específico

aws s3api list-object-versions --bucket <bucket_name> --prefix <object_name> --endpoint-url https://s3.hmstorage.net

Listar todos os objetos e suas versões

aws s3api list-object-versions --bucket <bucket_name> --query 'Versions[*].[Key, VersionId, Size]' --endpoint-url https://s3.hmstorage.net

Baixar uma versão específica de um objeto

Para baixar uma versão específica de um objeto, use:

aws s3api get-object --bucket <bucket_name> \
                     --key testfile.txt \
                     --version-id pdFehsuCbaPz2hNh4b9DBndfEwzjTfH \
                     testlocalfile.txt \
                     --endpoint-url https://s3.hmstorage.net

Parâmetros:

  • --key: nome do objeto no bucket.
  • --version-id: ID da versão do objeto (obtido com list-object-versions).
  • testlocalfile.txt: nome do arquivo local onde a versão será salva.

Restaurar uma versão específica de um objeto

Se um objeto foi atualizado ou excluído, você pode restaurar uma versão anterior copiando-a sobre a atual:

aws s3api copy-object --bucket <bucket_name> \
                      --key testfile.txt \
                      --copy-source <bucket_name>/<object_name>?versionId=<version_id> \
                      --endpoint-url https://s3.hmstorage.net

Parâmetros:

  • <bucket_name>/<object_name>: caminho completo do objeto no bucket.
  • ?versionId=<version_id>: versão a ser restaurada.

Este comando criará uma nova versão no bucket idêntica à restaurada.

Excluir uma versão específica de um objeto

Para excluir uma versão específica de um objeto:

aws s3api delete-object --bucket <bucket_name> --key <object_name> --version-id <version_id> --endpoint-url https://s3.hmstorage.net

--version-id é o ID da versão do objeto a ser excluída.

Configurar exclusão automática de versões antigas

Para evitar o acúmulo de versões antigas, você pode criar uma política de ciclo de vida de objetos.

  1. Crie um arquivo chamado lifecycle.json:
{
    "Rules": [
        {
            "ID": "DeleteOldVersions",
            "Status": "Enabled",
            "Filter": {},
            "NoncurrentVersionExpiration": {
                "NoncurrentDays": 30
            }
        }
    ]
}

Essa regra exclui versões de objetos com mais de 30 dias, mantendo as versões atuais intactas.

  1. Aplique a política de ciclo de vida:
aws s3api put-bucket-lifecycle-configuration --bucket <bucket_name> --lifecycle-configuration file://lifecycle.json --endpoint-url https://s3.hmstorage.net
  1. Verifique aplicação da política
aws s3api get-bucket-lifecycle-configuration --bucket <bucket_name> --endpoint-url https://s3.hmstorage.net
Esta página foi útil?
Atualizado em 18 de February de 2026

Tem perguntas,
comentários ou preocupações?

Nossos profissionais estão disponíveis para ajudá-lo a qualquer momento,
seja para assistência ou apenas se você não souber por onde começar.
Envie-nos um e-mail
Hostman's Support