Definir una política de ciclo de vida de objetos para los segmentos de almacenamiento

En esta página se muestra cómo configurar la política del ciclo de vida de los objetos en los segmentos de almacenamiento aislados de Google Distributed Cloud (GDC).

Antes de empezar

Un espacio de nombres de proyecto gestiona los recursos de los segmentos en el servidor de la API Management. Debes tener un proyecto para trabajar con segmentos y objetos.

También debes tener los permisos de segmento adecuados para realizar la siguiente operación. Consulta el artículo Conceder acceso a un segmento.

Definir la política del ciclo de vida de los objetos en un segmento

Puedes usar la política del ciclo de vida de los objetos para gestionar automáticamente los objetos de tus segmentos. De esta forma, puedes almacenar los datos de forma más eficiente durante todo su ciclo de vida. Una configuración del ciclo de vida es una lista de reglas para que caduque un grupo de objetos en función de determinados criterios de coincidencia.

Puedes crear un segmento con o sin política del ciclo de vida de los objetos. Además, puedes aplicar una política del ciclo de vida nueva, actualizar una que ya tengas o eliminar una después de crear el segmento.

En el caso de los segmentos sin versiones, la caducidad implica eliminar el objeto de forma permanente y asíncrona.

En el caso de los segmentos con versiones, si la versión actual del objeto no es un marcador de eliminación, la caducidad hace que la versión actual deje de ser la más reciente y, a continuación, añade un marcador de eliminación a la versión actual.

Para definir y modificar la política del ciclo de vida de los objetos, actualiza el campo Bucket.spec.bucketPolicy.lifecyclePolicy.

CLI

A continuación, se muestran algunos ejemplos de recursos de segmentos con diferentes políticas del ciclo de vida de los 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/"

Las actualizaciones de la política del ciclo de vida se aplican a los objetos que ya existen y a los que se suban después de la actualización.

Si el segmento también tiene configurado el bloqueo de objetos, los objetos se protegen contra la caducidad antes de que finalicen los días de retención.