Administración del ciclo de vida de los objetos

A fin de ser compatible con casos prácticos comunes, como configurar un tiempo de actividad (TTL) para los objetos, archivar versiones anteriores de objetos o “pasar a una versión anterior” de las clases de almacenamiento de objetos para facilitar la administración de los costos, Cloud Storage ofrece la característica de Administración del ciclo de vida de los objetos. En esta página, se describen las características y las opciones disponibles cuando se usa. Si deseas obtener más información sobre cómo habilitar la Administración del ciclo de vida de los objetos y ejemplos de las políticas del ciclo de vida, consulta Administra ciclos de vida.

Introducción

Puedes asignar una configuración de administración del ciclo de vida a un depósito. La configuración contiene un conjunto de reglas que se aplican a los objetos actuales y futuros del depósito. Cuando un objeto cumple con los criterios de una de las reglas, Cloud Storage realiza de forma automática una acción específica en el objeto. Estos son algunos ejemplos de casos prácticos:

  • Pasar la clase de almacenamiento de objetos con más de 365 días a Coldline Storage
  • Borrar objetos creados antes del 1 de enero de 2013
  • Conservar solo las 3 versiones más recientes de cada objeto en un depósito con el control de versiones habilitado

Configuración del ciclo de vida

Cada configuración de administración del ciclo de vida contiene un conjunto de reglas. Cuando se define una regla, puedes especificar cualquier conjunto de condiciones para cualquier acción. Si especificas varias condiciones en una regla, un objeto tiene que coincidir con todas las condiciones para que se realice la acción. Si especificas varias reglas que contienen la misma acción, esta se realiza cuando un objeto coincide con las condiciones en cualquiera de las reglas. Cada regla debe contener solo una acción.

Si un solo objeto está sujeto a varias acciones, Cloud Storage realiza solo una de las acciones y el objeto se evalúa de nuevo antes de que se tomen acciones adicionales. Una acción Delete (Borrado) tiene prioridad sobre una acción SetStorageClass (Definición de clase de almacenamiento). Si se especifican varias acciones SetStorageClass, se elige la acción que cambia a la clase de almacenamiento con el precio de almacenamiento en reposo más bajo.

Así que, por ejemplo, si tienes una regla que borra un objeto y otra regla que cambia la clase de almacenamiento del objeto, pero ambas reglas usan la misma condición, la acción Delete siempre ocurre cuando se cumple la condición. Si tienes una regla que cambia la clase del objeto a Nearline Storage y otra que cambia a Coldline Storage, pero ambas reglas usan la misma condición, la clase del objeto siempre cambia a Coldline Storage cuando se cumple la condición.

Acciones del ciclo de vida

Las siguientes acciones son compatibles con una regla del ciclo de vida:

  • Delete: borra objetos activos o archivados (un objeto activo es aquel que no es una generación archivada. Consulta control de versiones de los objetos para obtener más detalles). Se puede aplicar esta acción a los objetos con versiones y sin versiones. En un depósito con el control de versiones habilitado, borrar un objeto activo archiva el objeto, mientras que borrar un objeto archivado lo borra de forma permanente.

  • SetStorageClass: cambia la clase de almacenamiento de los objetos activos o archivados. Se puede aplicar esta acción a los objetos con versiones y sin versiones. Esta opción es compatible con las siguientes transiciones de clase de almacenamiento:

    Clase de almacenamiento original Nueva clase de almacenamiento
    Multi-Regional Storage Nearline Storage
    Coldline Storage
    Regional Storage Nearline Storage
    Coldline Storage
    Nearline Storage Coldline Storage

Condiciones del ciclo de vida

Las siguientes condiciones son compatibles con una regla del ciclo de vida:

  • Age (Antigüedad): esta condición se cumple cuando un objeto alcanza la antigüedad específica (en días). La antigüedad se mide desde la hora de creación del objeto. Por ejemplo, si la hora de creación de un objeto es 10:00 UTC del 10/01/2019 y la condición Age es de 10 días, entonces la condición se cumple para el objeto a partir de las 10:00 UTC del 20/01/2019. Esto ocurre incluso si el objeto se archiva a través del control de versiones de objetos después de su creación.

  • CreatedBefore (Creado antes de): esta condición se cumple cuando se crea un objeto antes de la medianoche de la fecha especificada en UTC.

  • IsLive (Es activo): si el valor es true, esta condición del ciclo de vida coincide solo con los objetos activos; si el valor es false, solo coincide con los objetos archivados. Para los fines de esta condición, se consideran activos los objetos en los depósitos sin versiones.

  • MatchesStorageClass (Corresponde con la clase de almacenamiento): esta condición se cumple cuando se almacena un objeto en el depósito como la clase de almacenamiento especificada. Por lo general, si quieres usar esta condición en los objetos de Multi-Regional Storage o Regional Storage, también debes incluir STANDARD y DURABLE_REDUCED_AVAILABILITY en la condición para garantizar que todos los objetos de una clase de almacenamiento similar estén cubiertos.

  • NumberOfNewerVersions (Cantidad de versiones más recientes): solo es relevante para objetos con versiones. Si el valor de esta condición se establece como N, un objeto cumple con la condición cuando existen al menos N versiones (incluida la versión activa) más nuevas que esta. Para los objetos activos, la cantidad de versiones más recientes se considera 0. Para la versión archivada más reciente, la cantidad de versiones nuevas es 1 (o 0 si no existen objetos activos) y así sucesivamente.

Todas las condiciones son opcionales, pero se requiere al menos una condición. Si quieres establecer una configuración del ciclo de vida no válida, mediante el uso de una acción o condición que no existen, recibirás una respuesta de error 400 Bad request y cualquier configuración del ciclo de vida existente no se modifica.

Consulta Administra ciclos de vida de objetos para obtener ejemplos sobre cómo usar configuraciones de ciclos de vida. Si deseas obtener más información sobre el formato general del archivo de configuración del ciclo de vida, consulta la representación de recursos del depósito para JSON o el formato de configuración del ciclo de vida para XML.

Comportamiento del ciclo de vida del objeto

  • Cloud Storage inspecciona con regularidad todos los objetos en un depósito en el que esté configurada la Administración del ciclo de vida de los objetos y realiza todas las acciones aplicables según las reglas del depósito.

    Por ejemplo, si un objeto cumple con las condiciones para la operación de eliminación, puede que este no se borre de inmediato. Continuarás viendo el objeto hasta que la acción del ciclo de vida se ejecute en él. No se te cobrará por el almacenamiento del objeto, pero el acceso a este incurre en cargos de cualquier operación aplicable y de ancho de banda como se describe en los precios.

  • Las actualizaciones de la configuración del ciclo de vida pueden tardar hasta 24 horas en surtir efecto. Esto significa que cuando cambias la configuración del ciclo de vida, puede que la Administración del ciclo de vida de los objetos aún realice acciones basadas en la configuración anterior durante un período de hasta 24 horas.

    Por ejemplo, si cambias una condición Age de 10 días a 20, la Administración del ciclo de vida de los objetos podría borrar un objeto de 11 días de antigüedad por hasta 24 horas, debido a los criterios de la configuración anterior.

  • Una acción Delete del ciclo de vida del objeto no tendrá efecto en un objeto mientras que este tenga una conservación de objetos o una política de retención que aún no se cumplió. Cualquier acción Delete que pudiera producirse mientras un objeto tenga una restricción de conservación o política de retención, en cambio, se producirá después de que las restricciones ya no se apliquen al objeto.

  • Una acción SetStorageClass del ciclo de vida del objeto no se ve afecta por la existencia de conservaciones de objetos o políticas de retención.

Operación de eliminación temprana de los objetos de Nearline Storage y Coldline Storage

La Administración del ciclo de vida de los objetos no reescribe un objeto cuando cambia su clase de almacenamiento. Esto significa que cuando un objeto pasa a Nearline Storage o Coldline Storage con la característica SetStorageClass, cualquier operación posterior de eliminación temprana y los cargos asociados se basan en la hora de creación original del objeto, sin importar cuándo cambió la clase de almacenamiento.

Por ejemplo, supongamos que subiste un objeto como Regional Storage y, 20 días después, tu configuración del ciclo de vida cambia la clase de almacenamiento del objeto a Nearline Storage. Si borras el objeto de inmediato, hay un cargo por operación de eliminación temprano de 10 días, ya que el objeto existió durante 20 días. Si borras el objeto 10 días después de cambiar su clase de almacenamiento a Nearline Storage, no se cobrará por operación de eliminación temprana, ya que el objeto existió durante 30 días.

En comparación, supongamos que subiste un objeto como Regional Storage y, 20 días después, cambia la clase de almacenamiento mediante una reescritura (de nuevo a Nearline Storage). Si borras el objeto inmediatamente después, incurrirás en un cargo de operación de eliminación temprana de 30 días, ya que el tiempo de reescritura se convierte en la hora de creación nueva. Del mismo modo, si esperaste 10 días después de la reescritura para borrar el objeto, incurrirás en un cargo por operación de eliminación temprano de 20 días.

Metadatos de hora de vencimiento

Si se especifica una acción Delete para un depósito con la condición Age (y ninguna condición NumberOfNewerVersions), entonces, algunos objetos pueden etiquetarse con metadatos de hora de vencimiento. La hora de vencimiento de un objeto indica el momento en que el objeto se convierte (o convirtió) en apto para que la Administración del ciclo de vida de los objetos lo borre. La hora de vencimiento puede cambiar a medida que cambia la configuración del ciclo de vida del depósito o la política de retención.

Ten en cuenta que la ausencia de los metadatos de hora de vencimiento no significa necesariamente que el objeto no se borrará, sino que no hay suficiente información disponible para determinar cuándo se borrará o si se borrará. Por ejemplo, si la hora de la creación del objeto es a las 10:00 UTC del 10/01/2013 y la condición Age se establece en 10 días, entonces la hora de vencimiento del objeto es a las 10:00 UTC del 20/01/2013. Sin embargo, la hora de vencimiento no estará disponible para el objeto si se cumplen estos casos:

  • También se especifica la condición NumberOfNewerVersions. En este caso, las versiones anteriores del objeto aún se pueden borrar si se agregan versiones nuevas.

  • También se especifica la condición CreatedBefore y se establece en “01/01/2013”, debido a que el objeto no cumple con esta condición.

  • El objeto está en conservación, debido a que Cloud Storage no puede saber cuándo se quitará la conservación.

No se cobra por el almacenamiento después de la hora de vencimiento del objeto incluso si el objeto no se borra de inmediato. Puedes acceder al objeto antes de que se borre. Eres responsable de otros cargos (solicitud, ancho de banda de la red). Si la hora de vencimiento no está disponible para un objeto, se cobra el objeto por el almacenamiento hasta que se borra la hora.

Puedes acceder a la hora de vencimiento del objeto en sus metadatos si está disponible. La API de REST muestra la hora de vencimiento del objeto en el encabezado de respuesta x-goog-expiration.

Cuando trabajes con horas de vencimiento, ten en cuenta lo siguiente:

  • Si el depósito tiene una política de retención, la hora de vencimiento es la última de la condición Age de la Administración del ciclo de vida de los objetos y la hora en que el objeto cumple con el período de retención que especifica la política de retención.

  • Si existen varias horas de vencimiento en conflicto aplicables para un objeto debido a diferentes reglas de administración de ciclos de vida, entonces se usa la primera hora de vencimiento aplicable.

Opciones para el seguimiento de las acciones del ciclo de vida

Para realizar un seguimiento de las acciones de administración del ciclo de vida que realiza Cloud Storage, usa una de las siguientes opciones:

  • Usa registros de acceso de Cloud Storage. Esta característica registra la acción y quién la realiza. Un valor de GCS Lifecycle Management en el campo cs_user_agent de la entrada de registro indica que Cloud Storage realizó la acción en función de una configuración del ciclo de vida.

  • Habilita las notificaciones de Cloud Pub/Sub para Cloud Storage en tu depósito. Esta característica envía notificaciones a un tema de Cloud Pub/Sub de tu elección cuando se producen las acciones específicas. Ten en cuenta que esta característica no registra quién realizó las acciones.

Pasos siguientes

¿Te ha resultado útil esta página? Enviar comentarios:

Enviar comentarios sobre...

Si necesitas ayuda, visita nuestra página de asistencia.