Controle de versões de objetos e controle de simultaneidade

Visão geral

Os buckets com controle de versão mantêm versões desatualizadas de objetos, fornecendo uma maneira de cancelar a exclusão de dados que você excluiu acidentalmente ou recuperar versões mais antigas dos seus dados. Objetos não atuais são ignorados por comandos da gsutil, a menos que você indique que não ignore definindo uma sinalização de comando relevante ou incluindo um número de geração específico no comando. Por exemplo, caracteres curinga como * e ** não atuam, por si só, nas versões de objeto não atuais.

Ao usar o gsutil cp, não é possível determinar um URL específico da versão como destino, porque as gravações no Cloud Storage sempre criam uma nova versão. Tentar especificar um URL específico da versão como destino de gsutil cp resulta em erro. Quando você especifica um objeto não atual como uma origem em um comando de cópia, uma nova versão de objeto sempre é criado, assim como o original é mantido (mesmo ao usar o comando para restaurar uma versão ativa). Use o comando gsutil mv para restaurar simultaneamente uma versão de objeto e remover a cópia não atual usada como origem.

O controle de versões de um bucket pode ser ativado ou desativado a qualquer momento. Se o controle de versões for desativado, as versões de objetos atuais não serão alteradas, mas o bucket excluirá a versão ativa do objeto sempre que uma nova versão for enviada.

Independentemente de você ter ativado o controle de versão em um intervalo, cada objeto tem dois campos inteiros positivos associados:

  • a geração, que é atualizada quando um novo objeto substitui um existente com o mesmo nome. Não há garantia de que os números de geração aumentem para versões sucessivas, apenas que cada nova versão tem um número de geração exclusivo.
  • a metageração, que identifica a geração de metadados. Ele começa em 1; é atualizado sempre que os metadados (por exemplo, ACL ou Content-Type) para uma determinada geração de conteúdo é atualizada; e é redefinido quando o número de geração é alterado.

Desses dois números inteiros, somente a geração é usada ao trabalhar com dados com controle de versão. A geração e a metageração podem ser usadas com o controle de simultaneidade.

Para saber mais sobre controle de versão e simultaneidade, consulte a seguinte documentação: