En esta página, se muestra cómo borrar objetos de tus buckets en Cloud Storage. Para obtener una descripción general de los métodos de borrado de objetos, consulta Acerca del borrado de objetos.
Roles obligatorios
Para obtener los permisos que necesitas para borrar objetos, pídele a tu administrador que te otorgue los siguientes roles de IAM en el bucket que contiene los objetos que deseas borrar:
-
Borra objetos con Google Cloud CLI o las APIs de REST:
Usuario de objetos de Storage (
roles/storage.objectUser) -
Borra objetos con la consola de Google Cloud :
Administrador de Storage (
roles/storage.admin) -
Como alternativa, para borrar objetos con la consola de Google Cloud , haz lo siguiente:
Visualizador (
roles/viewer) y Usuario de objetos de Storage (roles/storage.objectUser)
Para obtener más información sobre cómo otorgar roles, consulta Administra el acceso a proyectos, carpetas y organizaciones.
Estos roles predefinidos contienen los permisos necesarios para borrar objetos. Para ver los permisos exactos que son necesarios, expande la sección Permisos requeridos:
Permisos necesarios
Se requieren los siguientes permisos para borrar objetos:
-
Borra objetos:
storage.objects.delete -
Enumera los objetos con la consola de Google Cloud o con la marca
--recursiveo comodines en Google Cloud CLI:storage.objects.list -
Enumera los buckets con la consola de Google Cloud :
storage.buckets.list
También puedes obtener estos permisos con roles personalizados o con otros roles predefinidos.
Cómo borrar un solo objeto
En esta sección, se muestra cómo borrar un objeto a la vez.
Sigue estos pasos para borrar un solo objeto:
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 que deseas borrar.
Se abrirá la página Detalles del bucket y se seleccionará la pestaña Objetos.
Navega hasta el objeto, que puede estar en una carpeta.
Selecciona la casilla de verificación del objeto que deseas borrar.
Haz clic en Borrar y, luego, en Borrar en el diálogo que aparece.
Línea de comandos
Usa el comando gcloud storage rm de Google Cloud CLI:
gcloud storage rm gs://BUCKET_NAME/OBJECT_NAME
Aquí:
BUCKET_NAMEes el nombre del bucket que contiene el objeto que deseas borrar. Por ejemplo,my-bucket.OBJECT_NAMEes el nombre del objeto que deseas borrar. Por ejemplo,pets/dog.png.
Si se realiza de forma correcta, la respuesta se verá como el ejemplo siguiente:
Removing objects: Removing gs://example-bucket/file.txt... Completed 1/1
Bibliotecas cliente
C++
Si deseas obtener más información, consulta la documentación de referencia de la API de Cloud Storage C++.
Para autenticarte en Cloud Storage, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para bibliotecas cliente.
C#
Si deseas obtener más información, consulta la documentación de referencia de la API de Cloud Storage de C#.
Para autenticarte en Cloud Storage, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para bibliotecas cliente.
Go
Si deseas obtener más información, consulta la documentación de referencia de la API de Cloud Storage de Go.
Para autenticarte en Cloud Storage, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para bibliotecas cliente.
Java
Si deseas obtener más información, consulta la documentación de referencia de la API de Cloud Storage de Java.
Para autenticarte en Cloud Storage, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para bibliotecas cliente.
Node.js
Si deseas obtener más información, consulta la documentación de referencia de la API de Cloud Storage de Node.js.
Para autenticarte en Cloud Storage, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para bibliotecas cliente.
PHP
Si deseas obtener más información, consulta la documentación de referencia de la API de Cloud Storage de PHP.
Para autenticarte en Cloud Storage, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para bibliotecas cliente.
Python
Si deseas obtener más información, consulta la documentación de referencia de la API de Cloud Storage de Python.
Para autenticarte en Cloud Storage, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para bibliotecas cliente.
Ruby
Si deseas obtener más información, consulta la documentación de referencia de la API de Cloud Storage de Ruby.
Para autenticarte en Cloud Storage, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para bibliotecas cliente.
Rust
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
curlpara llamar a la API de JSON con una solicitud deDELETE:curl -X DELETE \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://storage.googleapis.com/storage/v1/b/BUCKET_NAME/o/OBJECT_NAME"
Aquí:
BUCKET_NAMEes el nombre del bucket que contiene el objeto que deseas borrar. Por ejemplo,my-bucketOBJECT_NAMEes el nombre codificado como URL del objeto que deseas borrar. Por ejemplo,pets/dog.png, codificado en URL comopets%2Fdog.png.
API de XML
Tener la gcloud CLI instalada e inicializada, lo que te permite generar un token de acceso para el encabezado
Authorization.Usa
curlpara llamar a la API de XML con una solicitudDELETE Object:curl -X DELETE \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://storage.googleapis.com/BUCKET_NAME/OBJECT_NAME"
Aquí:
BUCKET_NAMEes el nombre del bucket que contiene el objeto que deseas borrar. Por ejemplo,my-bucketOBJECT_NAMEes el nombre codificado como URL del objeto que deseas borrar. Por ejemplo,pets/dog.png, codificado en URL comopets%2Fdog.png.
Borra objetos de forma masiva
En esta sección, se muestra cómo borrar objetos de forma masiva seleccionándolos en la consola deGoogle Cloud , borrando objetos con un prefijo común con herramientas de línea de comandos o especificando una lista de objetos en solicitudes de API o bibliotecas cliente.
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 que deseas borrar.
Se abrirá la página Detalles del bucket y se seleccionará la pestaña Objetos.
Navega hasta los objetos, que pueden estar en una carpeta.
Selecciona la casilla de verificación de cada objeto que deseas borrar.
Puedes seleccionar la casilla de verificación de una carpeta, lo que borrará todos los objetos que contiene esa carpeta.
Haz clic en Borrar y, luego, en Borrar en el diálogo que aparece.
Si borras muchos objetos a la vez, puedes realizar un seguimiento del progreso de eliminación; para ello, haz clic en el ícono Notificaciones en la Google Cloud consola. La consola deGoogle Cloud puede borrar de forma masiva y en segundo plano varios millones de objetos.
Para obtener información sobre cómo ver detalles de errores acerca de operaciones fallidas de Cloud Storage en la Google Cloud consola, consulta Solución de problemas.
Línea de comandos
Google Cloud CLI
Para borrar grupos de objetos que tienen el mismo prefijo, como los objetos cuyos nombres imitan una estructura de carpeta, usa la marca --recursive con gcloud storage rm:
gcloud storage rm --recursive gs://BUCKET_NAME/PREFIX
Aquí:
BUCKET_NAMEes el nombre del depósito. Por ejemplo,my-bucketPREFIXes el prefijo común de los objetos que deseas borrar. Por ejemplo,pets/
CLI de Amazon S3
Para borrar varios objetos en Cloud Storage con la CLI de Amazon S3, usa el comando aws s3api delete-objects. Deberás redireccionar la solicitud a la API de XML de eliminación de varios objetos de Cloud Storage configurando la marca --endpoint-url en storage.googleapis.com. Para obtener definiciones detalladas de los parámetros y el comportamiento de la API de delete-objects, consulta la documentación de referencia de delete-objects de la CLI de Amazon S3.
Bibliotecas cliente
Cloud Storage admite la API de XML de eliminación de varios objetos a través de su interfaz compatible con Amazon S3.
Para usar bibliotecas cliente compatibles con Amazon S3 para el borrado masivo de objetos, dirige tu solicitud al extremo Google Cloud . Para ello, establece la URL del extremo en https://storage.googleapis.com en la configuración del cliente. Este enfoque puede ser beneficioso si realizas alguna de las siguientes tareas:
- Aprovechar las bases de código o las herramientas existentes ya creadas para Amazon S3
- Mantener la coherencia en entornos de varias nubes que incluyen Amazon S3 y Cloud Storage
En el siguiente ejemplo, se muestra cómo inicializar un cliente con una biblioteca Boto3 para interactuar con Cloud Storage:
import boto3
def main():
# Initialize the S3 client to point to the Google Cloud Storage endpoint
client = boto3.client(
service_name='s3',
endpoint_url='https://storage.googleapis.com',
aws_access_key_id='YOUR_ACCESS_ID',
aws_secret_access_key='YOUR_SECRET',
)
# Perform delete operations as defined in the library's documentation
# response = client.delete_objects(Bucket='BUCKET_NAME', Delete={'Objects': [...]})
Para obtener firmas de métodos y definiciones de parámetros específicos, consulta la documentación de delete_objects Boto3.
API de XML
Para borrar hasta 1,000 objetos en una sola solicitud con la API de XML, completa los siguientes pasos:
Tener la gcloud CLI instalada e inicializada, lo que te permite generar un token de acceso para el encabezado
Authorization.Crea un documento XML que especifique los objetos que se borrarán.
Para obtener una lista completa de los parámetros de configuración, consulta Cómo borrar varios objetos en la documentación de referencia de la API de XML. A continuación, se indican los parámetros de configuración comunes que puedes incluir en tu archivo XML:
<Delete> <Object> <Key>OBJECT_NAME</Key> <VersionId>VERSION_ID</VersionId> </Object> ... <Quiet>QUIET_RESPONSE_BOOLEAN</Quiet> </Delete>Aquí:
OBJECT_NAMEes el nombre codificado en URL del objeto. Por ejemplo,pets/dog.png, codificado en URL comopets%2Fdog.png. Puedes especificar hasta 1,000 objetos en el archivo XML.VERSION_IDes el ID de versión del objeto. Por ejemplo,11111.QUIET_RESPONSE_BOOLEANcontrola la verbosidad de la respuesta de la API:- Se establece en
Falsepara obtener una respuesta detallada. La respuesta incluye detalles de cada objeto, ya sea que se haya borrado correctamente o no. La operación de borrado de varios objetos con la API de XML no es atómica. Si una solicitud genera errores parciales, es posible que algunos objetos se borren correctamente, pero otros no. Por lo tanto, te recomendamos que uses la respuesta detallada para identificar todos los objetos que se borraron. Si tienes habilitados los registros de auditoría de acceso a los datos, también puedes revisar los registros de auditoría para obtener detalles sobre las fallas. - Se establece en
Truepara una respuesta silenciosa. El cuerpo de la respuesta no incluye información sobre los objetos que se borraron correctamente.
- Se establece en
Usa
curlpara enviar una solicitud dePOSTbucket a la API de XML con el parámetro de consulta?deletey tu archivo XML:curl -X POST --data-binary @XML_FILE_NAME \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://storage.googleapis.com/BUCKET_NAME?delete"
Aquí:
XML_FILE_NAMEes el nombre del archivo XML que creaste.BUCKET_NAMEes el nombre del bucket que contiene los objetos que se borrarán.Si el modo
Quietestá inhabilitado, una respuesta detallada podría ser similar a la siguiente:<DeleteResult> <Deleted> <Key>images/photo1.jpg</Key> <VersionId>11111</VersionId> </Deleted> <Deleted> <Key>documents/report.pdf</Key> <VersionId>22222</VersionId> </Deleted> <Error> <Code>AccessDenied</Code> <Key>private/financial_data.xlsx</Key> <Message>Access Denied. You don't have permission to delete this object.</Message> <VersionId>33333</VersionId> </Error> </DeleteResult>
Si el modo
Quietestá habilitado, la respuesta solo enumera los objetos que no se pudieron borrar. Si todos los objetos se borran correctamente, se devuelve una etiqueta<DeleteResult/>vacía. A continuación, se muestra un ejemplo de una respuesta silenciosa en la que se produjo un error:<DeleteResult> <Error> <Code>AccessDenied</Code> <Key>private/financial_data.xlsx</Key> <Message>Access Denied. You don't have permission to delete this object.</Message> <VersionId>33333</VersionId> </Error> </DeleteResult>
Borra hasta miles de millones de objetos
Para borrar millones o miles de millones de objetos con un solo trabajo de eliminación de objetos, usa las operaciones por lotes de Storage. Para crear un trabajo, especifica los objetos que se borrarán. Para ello, proporciona una lista de objetos en un archivo de manifiesto o usa prefijos de objetos. Después de especificar la lista de objetos, crea un trabajo de operación por lotes para borrar los objetos.
Borra objetos automáticamente con reglas de ciclo de vida de objetos
Si deseas que los objetos se borren automáticamente cuando cumplan con los criterios que especifiques, como la antigüedad o la clase de almacenamiento, usa la Administración del ciclo de vida de los objetos. Por ejemplo, puedes establecer una regla de ciclo de vida para borrar los registros que tengan más de 30 días.
Solicitudes de eliminación de objetos por lotes con la API de JSON
Para reducir la cantidad de conexiones HTTP necesarias cuando se borran muchos objetos con la API de JSON, usa las solicitudes por lotes de la API de JSON. Puedes agrupar hasta 100 llamadas a la API en una sola solicitud HTTP para ayudar a reducir la sobrecarga de la red.
¿Qué sigue?
- Obtén más información para restablecer objetos borrados de forma no definitiva si borraste un objeto por accidente.
- Si usas el control de versiones de objetos, ten en cuenta que borrar un objeto puede hacer que se vuelva no actual en lugar de borrarlo de forma permanente. Obtén más información para administrar o borrar de forma definitiva las versiones no actuales.
- Configura la Administración del ciclo de vida de los objetos para automatizar las futuras eliminaciones de objetos.
- Borra un bucket si ya no lo necesitas.