Usar segmentos eliminados temporalmente

Descripción general de la función de eliminación no definitiva

En esta página se describe cómo enumerar y restaurar un cubo eliminado temporalmente.

Información general

Una vez que se elimina de forma no definitiva un segmento, Cloud Storage lo conserva hasta que se elimina de forma definitiva y no se puede modificar mientras se encuentre en ese estado. El tiempo de eliminación definitiva es al menos igual al tiempo de eliminación definitiva más reciente de los objetos del contenedor. Una vez transcurrido el tiempo de eliminación definitiva, Cloud Storage elimina el segmento de forma permanente. Cuando restauras un segmento eliminado de forma no definitiva, vuelve a un estado activo y los objetos que estaban en el segmento en el momento de la eliminación también se pueden restaurar.

Cuestiones importantes

  • Para protegerse contra la eliminación malintencionada, un segmento eliminado de forma no definitiva no se puede eliminar de forma permanente hasta que se haya retenido durante todo el periodo de retención de eliminación no definitiva.

  • Una vez que se ha eliminado de forma no definitiva un contenedor, debes restaurarlo para poder enumerar o restaurar los objetos eliminados de forma no definitiva que contiene.

  • Para restaurar un cubo eliminado de forma lógica, debes tener el número de generación del cubo. Para obtener el número de generación de un cubo eliminado temporalmente, consulte List soft-deleted buckets (Listar cubos eliminados temporalmente).

  • Un segmento eliminado temporalmente solo se puede restaurar si no hay ningún segmento activo con el mismo nombre. Si tú u otra persona crea un bucket con el mismo nombre que un bucket eliminado de forma lógica, no podrás restaurar el bucket eliminado de forma lógica hasta que se elimine el nuevo.

  • Las operaciones de restauración de segmentos no restauran los objetos eliminados no definitivamente que estaban en el segmento en el momento de la eliminación. Para restaurar objetos eliminados de forma no definitiva después de que se haya restaurado el segmento eliminado de forma no definitiva, tendrás que realizar una operación de restauración de objetos.

  • Es posible que no se recuperen las vinculaciones de etiquetas al restaurar un contenedor eliminado temporalmente que tenga etiquetas. Para evitar la pérdida de datos, cuando restaure un bucket eliminado temporalmente con enlaces de etiquetas, le recomendamos que compruebe que se han recuperado los enlaces de etiquetas del bucket. Si no se han recuperado las vinculaciones de etiquetas del contenedor, deberá vincular manualmente las etiquetas no recuperadas al contenedor.

Permisos obligatorios

Para obtener los permisos que necesitas para restaurar los segmentos eliminados temporalmente, pide a tu administrador que te conceda el rol de gestión de identidades y accesos Administrador de Storage (roles/storage.admin) en el proyecto de Cloud Storage.

Este rol predefinido contiene los permisos necesarios para restaurar los contenedores eliminados temporalmente. Para ver los permisos exactos que se necesitan, despliega la sección Permisos necesarios:

Permisos obligatorios

Para restaurar los contenedores eliminados temporalmente, se necesitan los siguientes permisos:

  • storage.buckets.list
  • storage.buckets.restore

Mostrar los segmentos eliminados temporalmente

Puedes realizar operaciones de lista para recuperar los metadatos de los contenedores eliminados temporalmente.

Sigue estas instrucciones para enumerar todos los segmentos eliminados temporalmente de tu proyecto:

Línea de comandos

Para obtener una lista de todos los segmentos eliminados temporalmente, usa el comando gcloud storage ls:

gcloud storage ls --buckets --soft-deleted --full

APIs REST

API JSON

  1. Tener instalada e inicializadala CLI de gcloud, que te permite generar un token de acceso para el encabezado Authorization.

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

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

Restaurar un segmento eliminado de forma lógica

Sigue estas instrucciones para restaurar un contenedor eliminado temporalmente:

Línea de comandos

Para restaurar un cubo eliminado de forma lógica, usa el comando gcloud storage restore:

  gcloud storage restore gs://BUCKET_NAME#GENERATION_NUMBER

Haz los cambios siguientes:

  • BUCKET_NAME: el nombre del segmento eliminado de forma lógica que quieres restaurar.

  • GENERATION_NUMBER: número de generación único y permanente del segmento eliminado temporalmente que quieres restaurar. Para obtener el número de generación de tu cubo, consulta Listar cubos eliminados temporalmente.

APIs REST

API JSON

  1. Tener instalada e inicializadala CLI de gcloud, que te permite generar un token de acceso para el encabezado Authorization.

  2. Usa cURL para llamar a la API JSON con una solicitud de POST contenedor:

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

    Donde:

    • BUCKET_NAME es el nombre del contenedor que quieres restaurar. Por ejemplo, my-bucket.

    • GENERATION_NUMBER es el número de generación único y permanente del segmento eliminado temporalmente que quieres restaurar. Para obtener el número de generación de tu cubo, consulta Listar cubos eliminados temporalmente.

Cloud Storage restaura el segmento eliminado temporalmente a un estado activo. Ten en cuenta que, al restaurar el segmento, no se restauran los objetos que contenía en el momento de la eliminación lógica. Para restaurar los objetos eliminados de forma no definitiva que estaban en el segmento en el momento de la eliminación, consulta Restaurar un objeto eliminado de forma no definitiva.

Siguientes pasos