Cette page vous explique comment définir une règle de cycle de vie des objets pour les buckets de stockage isolés de Google Distributed Cloud (GDC).
Avant de commencer
Un espace de noms de projet gère les ressources de bucket sur le serveur de l'API Management. Vous devez disposer d'un projet pour travailler avec des buckets et des objets.
Vous devez également disposer des autorisations de bucket appropriées pour effectuer l'opération suivante. Consultez Accorder l'accès à un bucket.
Définir une règle de cycle de vie des objets sur un bucket
Vous pouvez utiliser une règle de cycle de vie des objets pour gérer automatiquement les objets dans vos buckets. Cela vous aide à stocker les données plus efficacement tout au long de leur cycle de vie. Une configuration de cycle de vie est une liste de règles permettant d'expirer un groupe d'objets en fonction de certains critères de correspondance.
Vous pouvez créer un bucket avec ou sans règle de cycle de vie des objets. Vous pouvez appliquer une nouvelle règle de cycle de vie, mettre à jour une règle existante ou supprimer une règle existante après la création du bucket.
Pour les buckets sans gestion de versions, l'expiration signifie la suppression définitive de l'objet de manière asynchrone.
Pour les buckets avec gestion des versions, si la version actuelle de l'objet n'est pas un marqueur de suppression, l'expiration rend la version actuelle obsolète, puis ajoute un marqueur de suppression à la version actuelle.
Pour définir et modifier la règle de cycle de vie des objets, mettez à jour le champ Bucket.spec.bucketPolicy.lifecyclePolicy.
CLI
Voici quelques exemples de ressources de bucket avec différentes règles de cycle de vie des objets configurées :
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/"
Toute modification apportée à la règle de cycle de vie s'applique aux objets existants et à ceux importés après la modification.
Lorsque le verrouillage des objets est également configuré pour le bucket, les objets sont protégés contre l'expiration avant la fin de la durée de conservation.