Mueve y renombra buckets

En esta página, se describe cómo mover el contenido de un bucket copiando objetos de un bucket de origen a uno de destino.

Descripción general

Cuando creas un bucket, algunas de las propiedades que estableces son permanentes y no se pueden cambiar, incluidos el nombre del bucket 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 las propiedades que desees.

  • Si tienes datos en tu bucket anterior, crea un bucket nuevo con las propiedades que desees, copia los datos del bucket anterior al nuevo y borra el bucket anterior y su contenido. En los pasos que se indican en esta página, se describe 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.

Permisos necesarios

Console

Para completar esta guía con la consola deTrusted Cloud , 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.

Para obtener una lista de los permisos necesarios para acciones específicas, consulta Permisos de IAM para la consola de Trusted Cloud .

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 gcloud storage.

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

  1. Si aún no tienes un depósito de destino, crea el bucket.

  2. Copia cada objeto del bucket de origen al de destino.

  3. Borra tu bucket de origen y su contenido.

Línea de comandos

  1. Si aún no tienes uno, crea un bucket de destino.

  2. Para copiar de forma recursiva el contenido de tu bucket de origen a tu bucket de destino, usa el comando gcloud storage cp con la opción --recursive:

    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

    Si tu bucket usa carpetas administradas y un espacio de nombres plano, debes incluir la marca --include-managed-folders en el comando para que se copien las carpetas administradas.

  3. Para borrar de forma recursiva el contenido del bucket de origen, junto con el bucket de origen en sí, usa el comando gcloud storage rm con la opción --recursive:

    gcloud storage rm --recursive gs://SOURCE_BUCKET

    En el ejemplo anterior, SOURCE_BUCKET es el nombre del bucket original. Por ejemplo, old-bucket

    Como alternativa, para borrar el contenido del bucket de origen sin borrar el bucket de origen en sí, usa el comando gcloud storage rm con la marca --all-versions y el comodín **:

    gcloud storage rm --all-versions gs://SOURCE_BUCKET/**

    En el ejemplo anterior, SOURCE_BUCKET es el nombre del bucket original. Por ejemplo, old-bucket

API de REST

API de JSON

  1. Si aún no tienes un depósito de destino, crea el bucket.

  2. Copia cada objeto del bucket de origen al de destino.

  3. Borra cada objeto del bucket de origen.

  4. Borra tu bucket de origen.

API de XML

  1. Si aún no tienes un depósito de destino, crea el bucket.

  2. Copia cada objeto del bucket de origen al de destino.

  3. Borra cada objeto del bucket de origen.

  4. Borra tu bucket de origen.

¿Qué sigue?