Descripción general Configuración
En esta página, se describe cómo enumerar, acceder y restablecer objetos borrados de forma no definitiva.
Antes de comenzar
Para obtener los permisos que necesitas para enumerar, acceder y restablecer objetos borrados de forma no definitiva, pídele a tu administrador que te otorgue el rol de IAM de Administrador de almacenamiento (roles/storage.admin
) en el bucket, la carpeta administrada o el proyecto.
Este rol predefinido contiene los permisos necesarios para enumerar, acceder y restablecer objetos borrados de forma no definitiva. Para ver los permisos exactos que son necesarios, expande la sección Permisos requeridos:
Permisos necesarios
Se requieren los siguientes permisos para enumerar, acceder y restablecer objetos borrados de forma no definitiva:
-
storage.buckets.get
(este permiso solo es necesario para usar la consola de Google Cloud para realizar las instrucciones de esta página) -
storage.buckets.list
(este permiso solo es necesario para usar la consola de Google Cloud para realizar las instrucciones de esta página) -
storage.objects.get
(este permiso solo es necesario para usar la consola de Google Cloud para realizar las instrucciones de esta página) -
storage.objects.list
-
storage.objects.restore
-
storage.objects.create
-
storage.objects.delete
(este permiso solo es necesario para restablecer objetos de una manera que haga que se reemplacen los objetos existentes) -
storage.buckets.restore
(este permiso solo es necesario para restablecer de forma masiva los objetos borrados de forma no definitiva)
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.
Para administrar las operaciones de larga duración que se inician desde los métodos de eliminación suave, es posible que necesites roles y permisos adicionales. Consulta los roles obligatorios para las operaciones de larga duración para obtener más información.
Enumera todos los objetos borrados de forma no definitiva en un bucket
Usa las siguientes instrucciones para enumerar todos los objetos borrados de forma no definitiva en un bucket:
Console
- En la consola de Google Cloud, ve a la página Buckets de Cloud Storage.
En la lista de buckets, haz clic en el nombre del bucket del que deseas ver los objetos borrados de forma no definitiva. Se abrirá la página Detalles del bucket con la pestaña Objetos elegidos.
En la lista Mostrar, selecciona Solo objetos borrados de forma no definitiva. Se muestra una lista de objetos borrados de forma no definitiva.
Línea de comandos
Para mostrar una lista de todos los objetos borrados de forma no definitiva en un bucket, usa el
comando gcloud storage ls
con las marcas --soft-deleted
y
--recursive
:
gcloud storage ls gs://BUCKET_NAME --soft-deleted --recursive
Reemplaza lo siguiente:
BUCKET_NAME
: el nombre del bucket. Por ejemplo,my-bucket
.
API de REST
API de JSON
Tener la gcloud CLI instalada e inicializada, lo que te permite generar un token de acceso para el encabezado
Authorization
.Usa
cURL
para llamar a la API de JSON con una solicitud para enumerar objetos que use el parámetro de consulta?softDeleted
: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/o?softDeleted=true"
En el que
BUCKET_NAME
es el nombre del bucket correspondiente. Por ejemplo,my-bucket
.
Visualiza todas las versiones borradas de forma no definitiva de un objeto
Usa las siguientes instrucciones para ver todas las versiones borradas de forma no definitiva de un objeto específico en tu bucket:
Console
- En la consola de Google Cloud, ve a la página Buckets de Cloud Storage.
En la lista de buckets, haz clic en el nombre del bucket que contiene el objeto del que deseas ver las versiones borradas de forma no definitiva. Se abrirá la página Detalles del bucket con la pestaña Objetos elegidos.
Haz clic en el objeto del que deseas ver todas las versiones borradas de forma no definitiva. Aparecerá la página Detalles del objeto.
Haz clic en la pestaña Historial de versiones.
En la lista Mostrar, selecciona Solo objetos borrados de forma no definitiva. Se muestra una lista de todas las versiones borradas de forma no definitiva de ese objeto.
Línea de comandos
Para mostrar una lista de todas las versiones borradas de forma no definitiva de un objeto en un
bucket, usa el comando gcloud storage ls
:
gcloud storage ls gs://BUCKET_NAME/OBJECT_NAME --soft-deleted
Reemplaza lo siguiente:
BUCKET_NAME
: el nombre del bucket. Por ejemplo,my-bucket
.OBJECT_NAME
: el nombre del objeto del que deseas ver todas las versiones.
API de REST
API de JSON
Tener la gcloud CLI instalada e inicializada, lo que te permite generar un token de acceso para el encabezado
Authorization
.Usa
cURL
para llamar a la API de JSON con una solicitud para enumerar objetos que use el parámetro de consulta?softDeleted
:curl -X GET \ -H "Authorization: Bearer OAUTH2_TOKEN" \ -H "Content-Type: application/json" \ "https://storage.googleapis.com/storage/v1/b/BUCKET_NAME/o?matchGlob=OBJECT_NAME&softDeleted=true"
Reemplaza lo siguiente:
BUCKET_NAME
: el nombre del bucket. Por ejemplo,my-bucket
.OBJECT_NAME
: el nombre del objeto del que deseas ver todas las versiones.
Restablece un objeto borrado de forma no definitiva
Puedes restablecer una versión específica de un objeto borrado de forma no definitiva en tu bucket. Ten en cuenta que no puedes restablecer objetos en un bucket borrado de forma no definitiva. Para restablecer objetos en un bucket borrado de forma no definitiva, primero debes restablecer el bucket borrado de forma no definitiva.
Usa las siguientes instrucciones para restablecer un objeto borrado de forma no definitiva:
Console
- En la consola de Google Cloud, ve a la página Buckets de Cloud Storage.
En la lista de buckets, haz clic en el nombre del bucket que contiene los objetos borrados de forma no definitiva que deseas restablecer. Se abrirá la página Detalles del bucket con la pestaña Objetos elegidos.
En la lista Mostrar, selecciona Solo objetos borrados de forma no definitiva.
Navega hasta el objeto, que puede estar en una carpeta.
Haz clic en el objeto borrado de forma no definitiva. Aparecerá la página Detalles del objeto.
En la lista Mostrar, selecciona Solo objetos borrados de forma no definitiva. Se muestra una lista de todas las versiones borradas de forma no definitiva de ese objeto.
Para restablecer una versión específica de un objeto borrada de forma no definitiva, haz clic en Restablecer junto a esa versión. Se abrirá el panel para restablecer versiones de objetos.
Haz clic en Confirmar.
Línea de comandos
Para restablecer una versión de un objeto borrada de forma no definitiva, usa
el comando gcloud storage restore
:
gcloud storage restore gs://BUCKET_NAME/OBJECT_NAME#GENERATION_NUMBER
Reemplaza lo siguiente:
BUCKET_NAME
: el nombre del bucket. Por ejemplo,my-bucket
.OBJECT_NAME
: el nombre del objeto del que deseas ver todas las versiones.GENERATION_NUMBER
: el número de generación del objeto borrado de forma no definitiva que deseas restablecer. Por ejemplo,1560468815691234
Si no especificas el número de generación, se restablece la versión más reciente.
Para obtener más opciones para restablecer varios objetos de forma masiva, incluido
el restablecimiento de todas las versiones de un objeto con la marca all-versions
, consulta la
referencia de gcloud storage restore
.
API de REST
API de JSON
Tener la gcloud CLI instalada e inicializada, lo que te permite generar un token de acceso para el encabezado
Authorization
.Usa
cURL
para llamar a la API de JSON con una solicitud de objetoPOST
: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/o/OBJECT_NAME/restore?generation=GENERATION_NUMBER"
Donde:
BUCKET_NAME
es el nombre del bucket correspondiente. Por ejemplo,my-bucket
.OBJECT_NAME
es el nombre del objeto borrado de forma no definitiva que deseas restablecer. Por ejemplo,cat.jpeg
GENERATION_NUMBER
es el número de generación del objeto borrado de forma no definitiva que deseas restablecer. Por ejemplo,1560468815691234
.
Restablece de forma masiva objetos borrados de forma no definitiva en un bucket
Si deseas restablecer una gran cantidad de objetos o no conoces los objetos específicos que deseas restablecer, usa una operación de restablecimiento masivo. Ten en cuenta que las operaciones de restablecimiento masivo se realizan de forma asíncrona y, en algunos casos, pueden tardar una hora o más en comenzar.
La operación de restablecimiento masivo inicia una operación de larga duración en un bucket. Puedes usar Google Cloud CLI para obtener y enumerar operaciones de larga duración para ver los detalles y el estado de la operación de restablecimiento masivo mientras está en curso.
Usa las siguientes instrucciones para restablecer de forma masiva objetos borrados de forma no definitiva en un bucket:
Console
- En la consola de Google Cloud, ve a la página Buckets de Cloud Storage.
En la lista de buckets, busca el que contiene los objetos que deseas restablecer.
Haz clic en el menú Ampliado del bucket (more_vert) asociado al bucket y selecciona Create restore job.
Se abrirá el panel Create a restore job.
En la sección Choose which soft-deleted objects to restore, selecciona el período de eliminación desde el que deseas restablecer los objetos.
Selecciona Filter by glob pattern y, luego, ingresa un patrón glob para restablecer únicamente los objetos que cumplan con los criterios del patrón glob (opcional).
Activa o desactiva comportamientos de restablecimiento adicionales en la sección Restore options (opcional).
Haz clic en Crear.
Para realizar un seguimiento del progreso de la operación de restablecimiento masivo, haz clic en el botón Notificaciones (notifications) que se encuentra en el encabezado de la consola de Google Cloud.
Línea de comandos
Para usar la operación de restablecimiento masivo para restablecer todos los objetos en un bucket, usa el
comando gcloud storage restore
.
Con el siguiente comando, se realiza una operación de restablecimiento masivo para restablecer de forma asíncrona todos los objetos del bucket que se borraron durante un período específico:
gcloud storage restore gs://BUCKET_NAME/** \ --async --deleted-after-time=DELETED_AFTER_TIME \ --deleted-before-time=DELETED_BEFORE_TIME
Reemplaza lo siguiente:
BUCKET_NAME
: el nombre del bucket. Por ejemplo,my-bucket
.DELETED_AFTER_TIME
: es un argumento opcional para especificar la fecha después de la cual se restablecen los objetos. Por ejemplo,2022-12-01
DELETED_BEFORE_TIME
: es un argumento opcional para especificar la fecha antes de la que se restablecen los objetos. Por ejemplo,2022-12-21
.Si se ejecuta de forma correcta, el comando muestra el ID de la operación de larga duración asociada con la operación de restablecimiento masivo. Puedes obtener detalles sobre la operación de larga duración o cancelarla para detener la operación de restablecimiento masivo antes de que se complete. Para obtener más información, consulta Usa operaciones de larga duración.
API de REST
API de JSON
Tener la gcloud CLI instalada e inicializada, lo que te permite generar un token de acceso para el encabezado
Authorization
.Usa
cURL
para llamar a la API de JSON con una solicitud de objetoPOST
: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/o/bulkRestore"
En el que
BUCKET_NAME
es el nombre del bucket correspondiente. Por ejemplo,my-bucket
.
Si se ejecuta de forma correcta, el comando muestra el ID de la operación de larga duración asociada con la operación de restablecimiento masivo. Puedes obtener detalles sobre la operación de larga duración o cancelarla para detener la operación de restablecimiento masivo antes de que se complete. Para obtener más información, consulta Usa operaciones de larga duración.
Usa operaciones de larga duración para el restablecimiento masivo
La operación de restablecimiento masivo inicia una operación de larga duración. Puedes obtener y enumerar operaciones de larga duración para ver los detalles y el estado de una operación de restablecimiento masivo, o borrar una operación de larga duración para cancelar una operación de restablecimiento masivo mientras está en curso.
Para obtener instrucciones sobre el uso de operaciones de larga duración que se inician a partir de operaciones en Cloud Storage, como la operación de restablecimiento masivo, consulta Usa operaciones de larga duración.
En el siguiente ejemplo, se muestra una operación de larga duración que se obtiene de una operación de restablecimiento masivo:
done: false { "kind": "storage@operation", "name": "projects/_/buckets/my-bucket/operations/CiQyODRlMTY0My0wNGExLTQ3MWItOTE2Zi1hZmQ0ZmM4ZDc4MjQQAg", "metadata": { "@type": "type.googleapis.com/google.storage.v2.BulkRestoreObjectsMetadata", "commonMetadata": { "type": "bulk-restore-objects", "createTime": "2023-10-20T21:08:11.289Z", "updateTime": "2023-10-20T21:18:37.583Z", "endTime": "2023-10-20T21:18:37.583Z", "requestedCancellation": false, "progressPercent": -1, }, "allow_overwrite": false, "matchGlobs": ["*"], "succeededCount": "0", "failedCount": "0", "skippedCount": "0", }, "done": true, "response": { "@type": "type.googleapis.com/google.storage.v2.BulkRestoreObjectsResponse" } }
¿Qué sigue?
- Obtén más información sobre borrar de forma no definitiva.