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 completar las tareas de esta página, asegúrate de tener el rol de administrador de almacenamiento (roles/storage.admin
) de IAM en el bucket o el proyecto que contiene el bucket. Este rol predefinido incluye los permisos necesarios para administrar y restablecer la eliminación 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.
storage.objects.restore
storage.objects.create
storage.objects.delete
- Este permiso es necesario si restablecer un objeto hace que se reemplace un objeto existente.
storage.buckets.restore
- Este permiso es necesario si deseas restablecer de forma masiva los objetos borrados de forma no definitiva en un bucket.
storage.bucketOperations.*
- Este permiso es necesario para operaciones de larga duración.
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.
Enumera todos los objetos borrados de forma no definitiva en un bucket
Puedes 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 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
.Usa
cURL
para llamar a la API de JSON con una solicitud para enumerar objetos que use la consulta?softDeleted
parámetro: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
Puedes 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 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
.Usa
cURL
para llamar a la API de JSON con una solicitud para enumerar objetos que use la consulta?softDeleted
parámetro: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.
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. Si no especificas el número de generación, se restablece la versión más reciente. Por ejemplo,1560468815691234
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 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
.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"
Aquí:
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. Si no especificas el número de generación, se restablece la versión más reciente. 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.
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 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
.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.