Définir une règle de cycle de vie des objets pour les buckets de stockage

Les règles de cycle de vie des objets dans l'appareil avec air gap Google Distributed Cloud (GDC) vous permettent d'automatiser la conservation et l'expiration des données dans vos buckets de stockage. Vous pouvez définir des règles d'âge, de préfixe et de tag pour supprimer des objets sans version, ou pour effectuer la transition et l'expiration des versions sans nettoyage manuel.

Avant de commencer

Un espace de noms de projet gère les ressources de bucket dans le serveur d'API de gestion. Vous devez disposer d'un projet pour utiliser 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 au bucket.

Pour exécuter des commandes sur le serveur d'API de gestion, connectez-vous et générez le fichier kubeconfig pour le serveur d'API de gestion si vous n'en avez pas.

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 de 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 de faire 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 des 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.

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 2000 days"
  storageClass: Standard
  bucketPolicy:
    lifecyclePolicy:
      enable: true
      lifecycleRules:
      - expiration:
          days: 2000
        id: expire-all-after-2000-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 having name start with abc after 500 days"
  storageClass: Standard
  bucketPolicy:
    lifecyclePolicy:
      enable: true
      lifecycleRules:
      - expiration:
          days: 500
        id: expire-all-start-with-abc-after-500-days
        status: Enabled
        filter:
          prefixFilter: "abc"
----------
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 300 days"
  storageClass: Standard
  bucketPolicy:
    lifecyclePolicy:
      enable: true
      lifecycleRules:
      - expiration:
          days: 300
        id: expire-all-objects-with-specific-tag-after-300-days
        status: Enabled
        filter:
          tagFilters:
          - key: testKey
            value: testValue

Toute mise à jour de la règle de cycle de vie s'applique aux objets existants et aux objets importés après la mise à jour.

Lorsque le verrouillage d'objets est également configuré sur le bucket, les objets sont protégés contre l'expiration avant la fin de la période de conservation.