Mueve y cambia el nombre de depósitos

Cuando creas un depósito, se define de forma permanente su nombre, su ubicación geográfica y el proyecto del que es parte. Sin embargo, puedes mover o renombrar tu depósito de forma efectiva:

  • Si no hay datos en tu depósito 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 depósito anterior, crea un depósito nuevo con el nombre, ubicación o proyecto que desees, copia los datos del depósito anterior al nuevo y borra el depósito anterior y su contenido. Los pasos a continuación describen este proceso.

    Ten en cuenta que, si deseas que tu depósito nuevo tenga el mismo nombre que el anterior, debes mover tus datos dos veces: un depósito intermediario retiene de forma temporal tus datos a fin de que puedas borrar el original y liberar el nombre para el depósito final.

Completa los siguientes pasos para mover tus datos de un depósito a otro:

Console

Usa el Servicio de transferencia de almacenamiento de Cloud desde Google Cloud Console para copiar los datos de un depósito de Cloud Storage a otro:

  1. Si aún no tienes un depósito de destino, asegúrate de crear un depósito.
  2. Abre la página Transferencia en Google Cloud Console.

    Abrir la página Transferencia

  3. Haz clic en Crear trabajo de transferencia.
  4. Sigue la explicación detallada y haz clic en Continuar a medida que completas cada uno de los siguientes pasos:

    • Selecciona la fuente: Usa Depósito de Google Cloud Storage como la fuente seleccionada y haz clic en Examinar para buscar y seleccionar el depósito de origen de los objetos.

    • Selecciona el destino: haz clic en Examinar para buscar y seleccionar el depósito al que deseas mover tus objetos.

      Además, selecciona la casilla de verificación Borrar los objetos de origen después de completar la transferencia.

    • Configura la transferencia: Puedes ignorar esta sección.

  5. Después de completar la explicación paso a paso, haz clic en Crear.

    Así, comienza el proceso de copia de objetos desde tu depósito 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, abre la página Transferencia en Google Cloud Console.

    Abrir la página Transferencia

    Consulta Soluciona problemas para obtener información detallada sobre las operaciones fallidas en el navegador de Cloud Storage.

  6. Una vez que se completa la transferencia, no necesitas hacer nada para borrar los objetos de tu depósito 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 depósito anterior, lo que debes hacer por separado.

gsutil

  1. Asegúrate de tener gsutil 4.12 instalado como mínimo.
  2. Si aún no tienes un depósito de destino, asegúrate de crear un depósito.
  3. Usa el comando gsutil cp con la opción -r para copiar de forma recursiva todos tus objetos del depósito de origen al de destino:

    gsutil cp -r gs://SOURCE_BUCKET/* gs://DESTINATION_BUCKET

    En el ejemplo anterior, se ilustra lo siguiente:

    • SOURCE_BUCKET es el nombre de tu depósito original. Por ejemplo, old-bucket.
    • DESTINATION_BUCKET es el nombre del depósito al que transfieres los datos. Por ejemplo, my-bucket.
  4. Usa el comando gsutil rm con la opción -r para borrar de forma recurrente todos tus objetos del depósito fuente, además del depósito fuente en sí:

    gsutil rm -r gs://SOURCE_BUCKET

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

    O bien, para borrar los objetos, pero mantener el depósito de origen, haz lo siguiente:

    gsutil rm -a gs://SOURCE_BUCKET/**

API de REST

API de JSON

Usa el método rewrite de la API de JSON para copiar los datos en fragmentos de tamaño limitado en varias solicitudes. Cuando lo hagas, debes hacer un bucle y llamar al método rewrite hasta que se transfieran todos los datos:

  1. Obtén un token de autorización de acceso de OAuth 2.0 Playground. Configura Playground para usar tus credenciales de OAuth.
  2. Si aún no tienes un depósito de destino, asegúrate de crear un depósito.

  3. Usa cURL y el método rewrite de la API de JSON para copiar datos de un depósito de origen a uno de destino:

    curl -X POST \
     -H "Authorization: Bearer OAUTH2_TOKEN" \
     -H "Content-Length: 0" \
     "https://storage.googleapis.com/storage/v1/b/SOURCE_BUCKET/o/OBJECT_NAME/rewriteTo/b/DESTINATION_BUCKET/o/OBJECT_NAME"

    En el ejemplo anterior, se ilustra lo siguiente:

    • OAUTH2_TOKEN es el token de acceso que generaste en el paso 1.
    • SOURCE_BUCKET es el nombre de tu depósito original. Por ejemplo, old-bucket.
    • OBJECT_NAME es el nombre del objeto que deseas copiar. Por ejemplo, pets/dog.png.
    • DESTINATION_BUCKET es el nombre del depósito al que transfieres los datos. Por ejemplo, my-bucket.

    Si el objeto tiene, por ejemplo, 10 GB de tamaño, la respuesta a esta solicitud se parece al siguiente ejemplo:

    {
     "kind": "storage#rewriteResponse",
     "totalBytesRewritten": 1048576,
     "objectSize": 10000000000,
     "done": false,
     "rewriteToken": TOKEN_VALUE
    }
  4. Usa rewriteToken en una solicitud posterior para continuar con la copia de datos:

    curl -X POST \
     -H "Authorization: Bearer OAUTH2_TOKEN" \
     -H "Content-Length: 0" \
     -d '{"rewriteToken": "TOKEN_VALUE"}' \
     "https://storage.googleapis.com/storage/v1/b/SOURCE_BUCKET/o/OBJECT_NAME/rewriteTo/b/DESTINATION_BUCKET/o/OBJECT_NAME"

    En el ejemplo anterior, se ilustra lo siguiente:

    • OAUTH2_TOKEN es el token de acceso que generaste en el paso 1.
    • TOKEN_VALUE es el valor rewriteToken que se muestra en el paso anterior.
    • SOURCE_BUCKET es el nombre de tu depósito original. Por ejemplo, old-bucket.
    • OBJECT_NAME es el nombre del objeto que deseas copiar. Por ejemplo, pets/bunny.png.
    • DESTINATION_BUCKET es el nombre del depósito al que transfieres los datos. Por ejemplo, my-bucket.

    Cuando se copian todos los datos, la última respuesta tiene una propiedad done igual a true, no hay ninguna propiedad rewriteToken, y los metadatos del objeto al que se copia se incluyen en la propiedad resource.

    {
      "kind": "storage#rewriteResponse",
      "totalBytesRewritten": 10000000000,
      "objectSize": 10000000000,
      "done": true,
      "resource": objects Resource
    }
  5. Usa cURL y el método delete de la API de JSON para quitar la versión original de tus datos con el siguiente comando:

    curl -X DELETE \
    -H "Authorization: Bearer OAUTH2_TOKEN" \
    "https://storage.googleapis.com/storage/v1/b/SOURCE_BUCKET/o/OBJECT_NAME"

    En el ejemplo anterior, se ilustra lo siguiente:

    • OAUTH2_TOKEN es el token de acceso que generaste en el paso 1.
    • SOURCE_BUCKET es el nombre de tu depósito original. Por ejemplo, old-bucket.
    • OBJECT_NAME es el nombre del objeto que deseas borrar. Por ejemplo, pets/dog.png.

Próximos pasos