Nesta página, mostramos como definir a política de ciclo de vida de objetos para buckets de armazenamento isolados do Google Distributed Cloud (GDC).
Antes de começar
Um namespace de projeto gerencia recursos de bucket no servidor da API Management. Você precisa ter um projeto para trabalhar com buckets e objetos.
Você também precisa ter as permissões de bucket adequadas para realizar a operação a seguir. Consulte Conceder acesso ao bucket.
Definir a política de ciclo de vida de objetos no bucket
É possível usar a política de ciclo de vida de objetos para gerenciar objetos automaticamente nos buckets. Isso ajuda a armazenar dados com mais eficiência durante todo o ciclo de vida. Uma configuração de ciclo de vida é uma lista de regras para expirar um grupo de objetos com base em determinados critérios correspondentes.
É possível criar um bucket com ou sem política de ciclo de vida de objetos. Além disso, é possível aplicar, atualizar ou remover uma política de ciclo de vida depois que o bucket for criado.
Para buckets sem controle de versões, a expiração significa remover o objeto de forma assíncrona.
Para buckets com controle de versões, se a versão atual do objeto não for um marcador de exclusão, a expiração tornará a versão atual não atual e adicionará um marcador de exclusão à versão atual.
Para definir e modificar a política de ciclo de vida de objetos, atualize o campo Bucket.spec.bucketPolicy.lifecyclePolicy.
CLI
A seguir, alguns exemplos de recursos de bucket com diferentes políticas de ciclo de vida de objetos configuradas:
apiVersion: object.gdc.goog/v1
kind: Bucket
metadata:
name: BUCKET_NAME
namespace: NAMESPACE_NAME
spec:
description: "Bucket with lifecycle rule to expire all objects after 365 days"
storageClass: Standard
bucketPolicy:
lifecyclePolicy:
enable: true
lifecycleRules:
- expiration:
days: 365
id: expire-all-after-365-days
status: Enabled
----------
apiVersion: object.gdc.goog/v1
kind: Bucket
metadata:
name: BUCKET_NAME
namespace: NAMESPACE_NAME
spec:
description: "Bucket with lifecycle rule to expire objects in the logs/ directory after 30 days"
storageClass: Standard
bucketPolicy:
lifecyclePolicy:
enable: true
lifecycleRules:
- expiration:
days: 30
id: expire-logs-dir-after-30-days
status: Enabled
filter:
prefixFilter: "logs/"
----------
apiVersion: object.gdc.goog/v1
kind: Bucket
metadata:
name: BUCKET_NAME
namespace: NAMESPACE_NAME
spec:
description: "Bucket with lifecycle rule to expire objects having specific tag after 30 days"
storageClass: Standard
bucketPolicy:
lifecyclePolicy:
enable: true
lifecycleRules:
- expiration:
days: 30
id: expire-tagged-objects-after-30-days
status: Enabled
filter:
tagFilters:
- key: environment
value: dev
----------
apiVersion: object.gdc.goog/v1
kind: Bucket
metadata:
name: BUCKET_NAME
namespace: NAMESPACE_NAME
spec:
description: "Bucket with lifecycle rule to expire noncurrent versions after 90 days"
storageClass: Standard
bucketPolicy:
lifecyclePolicy:
enable: true
lifecycleRules:
- noncurrentExpiration:
noncurrentDays: 90
id: expire-noncurrent-after-90-days
status: Enabled
----------
apiVersion: object.gdc.goog/v1
kind: Bucket
metadata:
name: BUCKET_NAME
namespace: NAMESPACE_NAME
spec:
description: "Bucket with lifecycle rule to expire objects on a specific date"
storageClass: Standard
bucketPolicy:
lifecyclePolicy:
enable: true
lifecycleRules:
- expiration:
date: "2027-01-01T00:00:00Z"
id: expire-on-specific-date
status: Enabled
----------
apiVersion: object.gdc.goog/v1
kind: Bucket
metadata:
name: BUCKET_NAME
namespace: NAMESPACE_NAME
spec:
description: "Bucket with multiple lifecycle rules and advanced filters"
storageClass: Standard
bucketPolicy:
lifecyclePolicy:
enable: true
lifecycleRules:
# Rule 1: Expire objects in 'tmp/' directory AND tagged with 'status=ready' after 7 days
- expiration:
days: 7
id: expire-ready-tmp-objects
status: Enabled
filter:
prefixFilter: "tmp/"
tagFilters:
- key: status
value: ready
# Rule 2: Expire all objects in 'logs/' directory after 90 days
- expiration:
days: 90
id: expire-logs-after-90-days
status: Enabled
filter:
prefixFilter: "logs/"
Todas as atualizações na política de ciclo de vida se aplicam aos objetos atuais e aos objetos enviados após a atualização.
Quando o bucket também tem o bloqueio de objetos configurado, os objetos são protegidos contra expiração antes do término dos dias de retenção.