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 não tem uma configuração de retenção e está armazenado em um bucket sem uma política de retenção, os dois tipos de retenção se comportam exatamente da mesma forma. A tabela a seguir descreve como cada tipo de retenção se comporta se um objeto tiver uma configuração de retenção ou estiver armazenado em um bucket com uma política de retenção:
O objeto tem uma retenção baseada em evento | O objeto tem uma retenção temporária | |
---|---|---|
O objeto tem uma configuração de retenção | Não relevante: os objetos não podem ter simultaneamente uma retenção baseada em eventos e uma configuração de retenção. | A liberação de uma retenção temporária não afeta a retenção até o momento de retenção do objeto |
O objeto é armazenado em um bucket com uma política de retenção | 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 de retenção baseada em eventos
Digamos que você tenha dois objetos, Objeto A e Objeto B, em um bucket com uma política de armazenamento definida para um período 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. Após um ano, ainda que normalmente você pudesse excluí-los neste momento, como os dois objetos ainda têm uma retenção, não é possível excluir nenhum deles.
Nesse momento, você libera a retenção de ambos os objetos. Para o Objeto A, que estava usando uma retenção baseada em evento, seu tempo no bucket é reiniciado para os fins 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, que estava usando uma retenção temporária, pode ser imediatamente excluído ou substituído, porque a retenção temporária não tem efeito sobre quando o objeto cumpriu 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 solicitações que tentam colocar uma retenção baseada em evento em um objeto com uma configuração de retenção existente falham.
- Solicitações que colocariam simultaneamente uma retenção baseada em evento em um objeto e definiriam uma configuração de retenção para o objeto falham de maneira semelhante.
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
- Saiba como ativar retenções baseadas em eventos por padrão e como definir retenções de objetos individuais.
- Saiba mais sobre políticas de retenção, que, por um tempo especificado, protegem os dados de serem excluídos.
- Saiba mais sobre as configurações do ciclo de vida do bucket, que podem excluir objetos automaticamente após a remoção das retenções.