Usa borrar de forma no definitiva

Descripción general Uso

En esta página, se describe cómo habilitar, inhabilitar, actualizar y verificar el estado de la política de eliminación no definitiva en un bucket. Para obtener información sobre cómo enumerar y restablecer los objetos borrados de forma no definitiva, consulta Usa objetos borrados de forma no definitiva.

Antes de comenzar

Para crear y administrar la política de eliminación no definitiva en un bucket, asegúrate de tener el rol de IAM Administrador de almacenamiento (roles/storage.admin) en el bucket o en el proyecto que contiene el bucket. Este rol predefinido incluye los permisos necesarios para crear y administrar de forma no definitiva en un bucket.

Para ver los permisos exactos que son necesarios, expande la sección Permisos necesarios:

Permisos necesarios

  • storage.buckets.get
  • storage.buckets.update
  • storage.buckets.list
    • Este permiso es necesario si planeas usar la consola de Google Cloud para ejecutar las instrucciones en esta página.

Para obtener más información sobre cómo otorgar roles en los buckets, consulta Usa IAM con buckets. Para obtener información sobre cómo otorgar roles en proyectos, consulta Administra el acceso a los proyectos.

Administrar la política de eliminación no definitiva de un bucket

A fin de agregar, quitar o cambiar la política de eliminación no definitiva de un bucket, haz lo siguiente:

Console

  1. En la consola de Google Cloud, ve a la página Buckets de Cloud Storage.

    Ir a Buckets

  2. En la lista de buckets, haz clic en el nombre del bucket cuya política de eliminación no definitiva deseas administrar.

  3. Haz clic en la pestaña Protección.

  4. En la sección Política de eliminación no definitiva, realiza una de las siguientes acciones:

    • Si el bucket no tiene una política de eliminación no definitiva, haz clic en Establecer política de eliminación no definitiva, elige una unidad de tiempo y una duración para la duración de la retención, y haz clic en Guardar.

    • Si el bucket tiene una política de eliminación no definitiva, haz clic en Editar para cambiar el período de la duración de la retención, o haz clic en Borrar para quitar la eliminación no definitiva política para el bucket.

Para obtener información sobre cómo ver detalles de errores acerca de operaciones fallidas de Cloud Storage en la consola de Google Cloud, consulta Solución de problemas.

Línea de comandos

Para agregar o modificar la política de eliminación no definitiva en un bucket, usa el comando gcloud storage buckets update con la marca --soft-delete-duration:

  gcloud storage buckets update gs://BUCKET_NAME --soft-delete-duration=SOFT_DELETE_DURATION

Aquí:

  • BUCKET_NAME es el nombre del depósito. Por ejemplo, my-bucket.
  • SOFT_DELETE_DURATION especifica la duración de la retención de objetos borrados de forma no definitiva. Por ejemplo, 2w1d equivale a dos semanas y un día. Para obtener más información, consulta Duración de la retención de borrado no definitivo.

Para quitar la política de eliminación no definitiva de un bucket, usa el comando gcloud storage buckets update con la marca --clear-soft-delete:

  gcloud storage buckets update gs://BUCKET_NAME --clear-soft-delete

Aquí:

  • BUCKET_NAME es el nombre del depósito. Por ejemplo, my-bucket.

APIs de REST

API de JSON

  1. Tener la gcloud CLI instalada e inicializadaa fin de generar un token de acceso para el encabezado Authorization.

    Como alternativa, puedes crear un token de acceso con OAuth 2.0 Playground y, luego, incluirlo en el encabezado Authorization.

  2. Crea un archivo JSON que contenga la siguiente información:

    {
      "softDeletePolicy": {
        "retentionDurationSeconds": "RETENTION_DURATION"
      }
    }

    En el ejemplo anterior, RETENTION_DURATION es la cantidad de tiempo durante el cual deseas conservar los objetos borrados de forma no definitiva. Por ejemplo, 2w1d retiene los objetos borrados de forma no definitiva durante dos semanas y un día. Para obtener más información, consulta Duración de la retención de borrado no definitivo.

    Para inhabilitar la política de eliminación no definitiva de un bucket, usa el valor 0 de RETENTION_DURATION.

  3. Usa cURL para llamar a la API de JSON con una solicitud de bucket PATCH:

    curl -X PATCH --data-binary @JSON_FILE_NAME \
      -H "Authorization: Bearer $(gcloud auth print-access-token)" \
      -H "Content-Type: application/json" \
      "https://storage.googleapis.com/storage/v1/b/BUCKET_NAME"

    Aquí:

    • JSON_FILE_NAME es la ruta de acceso del archivo JSON que creaste en el paso 2.
    • BUCKET_NAME es el nombre del bucket correspondiente. Por ejemplo, my-bucket.

Verifica si la política de eliminación no definitiva está habilitada en un bucket

Console

  1. En la consola de Google Cloud, ve a la página Buckets de Cloud Storage.

    Ir a Buckets

  2. En la lista de buckets, haz clic en el nombre del bucket cuya política de eliminación no definitiva deseas verificar.

  3. Haz clic en la pestaña Protección.

    El estado se muestra en la sección Política de eliminación no definitiva (para la recuperación de datos).

Para obtener información sobre cómo ver detalles de errores acerca de operaciones fallidas de Cloud Storage en la consola de Google Cloud, consulta Solución de problemas.

Línea de comandos

Para verificar el estado de la política de eliminación no definitiva de un bucket, usa el comando gcloud storage buckets describe:

  gcloud storage buckets describe gs://BUCKET_NAME \
      --format="default(soft_delete_policy)"

Aquí:

  • BUCKET_NAME es el nombre del depósito. Por ejemplo, my-bucket.

APIs de REST

API de JSON

  1. Tener la gcloud CLI instalada e inicializadaa fin de generar un token de acceso para el encabezado Authorization.

    Como alternativa, puedes crear un token de acceso con OAuth 2.0 Playground y, luego, incluirlo en el encabezado Authorization.

  2. Usa cURL para llamar a la API de JSON con una solicitud de bucket GET:

    curl -X GET \
      -H "Authorization: Bearer $(gcloud auth print-access-token)" \
      -H "Content-Type: application/json" \
      "https://storage.googleapis.com/storage/v1/b/BUCKET_NAME?fields=softDeletePolicy"

    En el que BUCKET_NAME es el nombre del bucket correspondiente. Por ejemplo, my-bucket.

¿Qué sigue?