Cuando creas un bucket, algunas de las propiedades que estableces son permanentes y no se pueden cambiar, incluidos el nombre del bucket, su ubicación geográfica y el proyecto del que es parte. Sin embargo, puedes mover o cambiar el nombre de tu bucket de forma efectiva:
Si no hay datos en tu bucket anterior, bórralo y crea otro con un nombre nuevo, en una ubicación nueva o en un proyecto nuevo.
Si tienes datos en tu bucket anterior, crea un bucket nuevo con el nombre, ubicación o proyecto que desees, copia los datos del bucket anterior al nuevo y borra el bucket anterior y su contenido. Los pasos a continuación describen este proceso.
Si deseas que tu bucket nuevo tenga el mismo nombre que el anterior, debes mover tus datos de forma temporal a un bucket con un nombre diferente. Esto te permite borrar el bucket original para que puedas volver a usar su nombre.
Mover datos entre ubicaciones genera costos de uso de la red. Además, con este movimiento de datos entre depósitos, se pueden generar tarifas de recuperación y eliminación temprana si los objetos que se mueven corresponden a Nearline Storage, Coldline Storage o Archive Storage.
Permisos necesarios
Consola
Para completar esta guía con Google Cloud Console, debes tener los permisos de IAM adecuados. Si los buckets a los que deseas acceder existen en un proyecto que no creaste, tal vez necesites que el propietario del proyecto te otorgue un rol con los permisos necesarios.
A fin de obtener una lista de los permisos necesarios para acciones específicas, consulta Permisos de IAM para Google Cloud Console.
Para obtener una lista de los roles relevantes, consulta Funciones de Cloud Storage. Como alternativa, puedes crear un rol personalizado que tenga permisos más limitados.
Línea de comandos
Para completar esta guía con una utilidad de línea de comandos, debes tener los permisos de IAM adecuados. Si los buckets a los que deseas acceder existen en un proyecto que no creaste, tal vez necesites que el propietario del proyecto te otorgue un rol con los permisos necesarios.
Si deseas obtener una lista de los permisos necesarios para acciones específicas, consulta Permisos de IAM para los comandos de gsutil.
Para obtener una lista de los roles relevantes, consulta Funciones de Cloud Storage. Como alternativa, puedes crear un rol personalizado que tenga permisos más limitados.
API de REST
API de JSON
Para completar esta guía con la API de JSON, debes tener los permisos de IAM adecuados. Si los buckets a los que deseas acceder existen en un proyecto que no creaste, tal vez necesites que el propietario del proyecto te otorgue un rol con los permisos necesarios.
Si deseas obtener una lista de los permisos necesarios para acciones específicas, consulta Permisos de IAM para métodos JSON.
Para obtener una lista de los roles relevantes, consulta Funciones de Cloud Storage. Como alternativa, puedes crear un rol personalizado que tenga permisos más limitados.
Mover datos de un bucket a otro
Console
Usa el Servicio de transferencia de almacenamiento de Cloud desde Google Cloud Console:
- Si aún no tienes un depósito de destino, crea el bucket.
Abre la página Transferencia en la consola de Google Cloud.
- Haz clic en Crear trabajo de transferencia.
Sigue la explicación detallada y haz clic en Siguiente a medida que completas cada uno de los siguientes pasos:
Elige una fuente: usa Bucket de Google Cloud Storage como el tipo de fuente y, luego, ingresa el nombre del bucket deseado o haz clic en Explorar para buscar y selecciona el bucket que desees.
Elige un destino: ingresa el nombre del bucket deseado directamente o haz clic en Examinar para buscar y seleccionar el bucket que deseas.
Selecciona la configuración: Selecciona la opción Borrar archivos desde la fuente después de la transferencia.
Opciones de programación: Puedes ignorar esta sección.
Después de completar la explicación paso a paso, haz clic en Crear.
Así, comienza el proceso de copia de objetos desde tu bucket anterior al nuevo. Este proceso puede tomar un tiempo; sin embargo, después de hacer clic en Crear, puedes salir de Google Cloud Console.
Para ver el progreso de la transferencia, haz lo siguiente:
Abre la página Transferencia en la consola de Google Cloud.
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.
Una vez que se completa la transferencia, no necesitas hacer nada para borrar los objetos de tu bucket anterior si durante la configuración seleccionaste la casilla de verificación Eliminar objetos del origen tras completar la transferencia. Sin embargo, puedes borrar tu bucket anterior, lo que debes hacer por separado.
Línea de comandos
gcloud
- Si aún no tienes uno, crea un bucket de destino.
Usa el comando
gcloud storage cp
con la opción--recursive
para copiar de forma recursiva todos tus objetos del bucket de origen al de destino:gcloud storage cp --recursive gs://SOURCE_BUCKET/* gs://DESTINATION_BUCKET
Aquí:
SOURCE_BUCKET
es el nombre de tu bucket original. Por ejemplo,old-bucket
DESTINATION_BUCKET
es el nombre del bucket al que transfieres los datos. Por ejemplo,my-bucket
Usa el comando
gcloud storage rm
con la opción--recursive
para borrar de forma recursiva todos tus objetos del bucket de origen, además del bucket de origen en sí:gcloud storage rm --recursive gs://SOURCE_BUCKET
En el ejemplo anterior,
SOURCE_BUCKET
es el nombre del bucket original. Por ejemplo,old-bucket
O bien, para borrar los objetos, pero mantener el bucket de origen, haz lo siguiente:
gcloud storage rm --all-versions gs://SOURCE_BUCKET/**
gsutil
Si aún no tienes un depósito de destino, crea el bucket.
Usa el comando
gsutil cp
con la opción-r
para copiar de forma recursiva todos tus objetos del bucket de origen al de destino:gsutil cp -r gs://SOURCE_BUCKET/* gs://DESTINATION_BUCKET
Aquí:
SOURCE_BUCKET
es el nombre de tu bucket original. Por ejemplo,old-bucket
DESTINATION_BUCKET
es el nombre del bucket al que transfieres los datos. Por ejemplo,my-bucket
Usa el comando
gsutil rm
con la opción-r
para borrar de forma recursiva todos tus objetos del bucket de origen, además del bucket de origen en sí:gsutil rm -r gs://SOURCE_BUCKET
En el ejemplo anterior,
SOURCE_BUCKET
es el nombre del bucket original. Por ejemplo,old-bucket
O bien, para borrar los objetos, pero mantener el bucket de origen, haz lo siguiente:
gsutil rm -a gs://SOURCE_BUCKET/**
API de REST
API de JSON
Si aún no tienes un depósito de destino, crea el bucket.
Copia cada objeto del bucket de origen al de destino.
Borra cada objeto del bucket de origen.
API de XML
Si aún no tienes un depósito de destino, crea el bucket.
Copia cada objeto del bucket de origen al de destino.
Borra cada objeto del bucket de origen.
¿Qué sigue?
- Copiar, mover o renombrar objetos individuales
- Obtén más información sobre las ubicaciones de depósitos disponibles y los lineamientos para asignar nombres a depósitos.
- Obtén más información sobre cómo crear y administrar transferencias de datos con Console.
- Explora la herramienta migrador de buckets, una herramienta no oficial para facilitar el traslado del bucket.
- Obtén más información sobre las carpetas y los espacios de nombres planos en Cloud Storage.