Retenções de objetos

Acessar exemplos

Nesta página, você verá as retenções de objetos, que são sinalizações de metadados colocadas em objetos individuais. Enquanto um objeto contiver uma retenção, ele não poderá ser excluído nem substituído. No entanto, é possível editar os metadados do objeto.

Tipos de retenções

O Cloud Storage oferece os tipos de retenção a seguir:

  • Retenções baseadas em eventos
  • Retenções temporárias

Um objeto pode ter um tipo de retenção, os dois tipos ou nenhuma retenção. Quando um objeto é armazenado em um bucket sem uma política de retenção, os dois tipos de retenção se comportam exatamente da mesma forma. Quando um objeto é armazenado em um bucket com uma política de retenção, os tipos de retenção têm efeitos diferentes no objeto quando a retenção é liberada:

  • Uma retenção baseada em evento reconfigura o tempo do objeto no bucket para os propósitos do período de armazenamento.
  • Uma retenção temporária não afeta o tempo do objeto no bucket para os propósitos do período de armazenamento.

Exemplo

Digamos que você tenha dois objetos, Objeto A e Objeto B, em um bucket com um período de armazenamento de um ano. Ao adicionar os objetos ao bucket, você colocou uma retenção baseada em evento no Objeto A e uma retenção temporária no Objeto B. Um ano se passa, e embora normalmente você pudesse excluí-los neste momento, como os dois objetos ainda têm uma retenção, não é possível excluir nenhum deles.

Digamos que nesse momento você libera a retenção de ambos os objetos. Para o Objeto A, o tempo no bucket começa do zero para os propósitos do período de armazenamento. Isso significa que ele precisa permanecer no bucket por mais um ano antes de ser excluído ou substituído. O objeto B, por outro lado, pode ser excluído ou substituído imediatamente, porque a retenção temporária não tem efeito sobre quando o objeto atingiu o tempo de retenção.

Esse comportamento permite usar retenções baseadas em eventos em conjunto com políticas de retenção para controlar a retenção baseada na ocorrência de algum evento, como a retenção de documentos de empréstimo por um determinado período após o pagamento. As retenções temporárias podem ser usadas para fins regulatórios ou legais, como a retenção de documentos comerciais para investigação legal.

A propriedade de retenção baseada em eventos padrão

Além de colocar retenções em objetos individuais, você pode ativar a propriedade baseada em eventos padrão no seu bucket. Quando você faz isso, cada novo objeto que subsequentemente é adicionado ao bucket tem uma retenção baseada em evento colocada nele de maneira automática.

Esse comportamento é útil quando você quer que um objeto persista no seu bucket por um determinado período após a ocorrência de um determinado evento. Por exemplo, seu bucket pode ser destinado a armazenar empréstimos que você deve reter por um determinado número de anos depois que eles forem pagos. Com uma política de retenção adequada e a propriedade de retenção baseada em evento padrão ativada para seu bucket, quando você envia um documento de empréstimo para o bucket, ele recebe uma retenção baseada em evento. Quando o empréstimo é liquidado, você pode liberar a retenção. A partir desse momento a política de armazenamento garante que o empréstimo permaneça armazenado e imutável até que ele cumpra o período de armazenamento definido nela.

Restrições

As retenções de objeto não podem ser gerenciadas com a API XML. O status de retenção de um objeto não será incluído ao usar a API XML para recuperar metadados de objetos. No entanto, a tentativa de excluir ou substituir um objeto com a API XML falhará mesmo se o objeto tiver uma retenção. Para uploads de várias partes da API XML, é possível iniciar um upload e fazer upload de partes, mas a solicitação para concluir o upload falhará se ele substituir um objeto que tem uma retenção.

A seguir