Spostare i dati tra i bucket

Puoi copiare oggetti tra bucket Cloud Storage quando vuoi riorganizzare il layout dello spazio di archiviazione o aggirare le proprietà immutabili dei bucket. Ad esempio, puoi copiare gli oggetti in un nuovo bucket per modificare il nome di un bucket o trasferire i workload tra i progetti. Per completare uno spostamento, copia gli oggetti da un bucket di origine a un bucket di destinazione, quindi elimina gli oggetti originali.

Se il tuo obiettivo principale è archiviare i dati in una posizione geografica diversa, valuta la possibilità di utilizzare la rilocalizzazione dei bucket.

Panoramica

Quando crei un bucket, alcune delle proprietà impostate sono permanenti e non possono essere modificate, tra cui il nome del bucket e il progetto principale.

Se vuoi utilizzare un nuovo nome per il bucket, puoi farlo effettivamente creando un nuovo bucket con il nome che vuoi utilizzare e poi copiando gli oggetti dal bucket precedente a quello nuovo. A questo punto puoi eliminare il bucket precedente. Tieni presente quanto segue:

  • Quando elimini un bucket, il nome del bucket può essere riutilizzato.

  • Se l'obiettivo principale dello spostamento di oggetti da un bucket a un altro è archiviare i dati in una località del bucket diversa, ti consigliamo di spostare direttamente il bucket.

Autorizzazioni obbligatorie

Console

Per completare questa guida utilizzando la consoleGoogle Cloud , devi disporre delle autorizzazioni IAM appropriate. Se i bucket a cui vuoi accedere si trovano in un progetto che non hai creato, potresti aver bisogno che il Project Owner ti assegni un ruolo che contenga le autorizzazioni necessarie.

Per un elenco delle autorizzazioni richieste per azioni specifiche, consulta Autorizzazioni IAM per la console Google Cloud .

Per un elenco dei ruoli pertinenti, consulta Ruoli di Cloud Storage. In alternativa, puoi creare un ruolo personalizzato con autorizzazioni specifiche e limitate.

Riga di comando

Per completare questa guida utilizzando un'utilità a riga di comando, devi disporre delle autorizzazioni IAM appropriate. Se i bucket a cui vuoi accedere si trovano in un progetto che non hai creato, potresti aver bisogno che il Project Owner ti assegni un ruolo che contenga le autorizzazioni necessarie.

Per un elenco delle autorizzazioni richieste per azioni specifiche, consulta Autorizzazioni IAM per i comandi gcloud storage.

Per un elenco dei ruoli pertinenti, consulta Ruoli di Cloud Storage. In alternativa, puoi creare un ruolo personalizzato con autorizzazioni specifiche e limitate.

API REST

API JSON

Per completare questa guida utilizzando l'API JSON, devi disporre delle autorizzazioni IAM appropriate. Se i bucket a cui vuoi accedere si trovano in un progetto che non hai creato, potresti dover chiedere al Project Owner di assegnarti un ruolo che contenga le autorizzazioni necessarie.

Per un elenco delle autorizzazioni richieste per azioni specifiche, consulta Autorizzazioni IAM per i metodi JSON.

Per un elenco dei ruoli pertinenti, consulta Ruoli di Cloud Storage. In alternativa, puoi creare un ruolo personalizzato con autorizzazioni specifiche e limitate.

Sposta i dati da un bucket all'altro

Console

  1. Se non hai ancora un bucket di destinazione, crealo.

  2. Copia ogni oggetto dal bucket di origine al bucket di destinazione.

  3. Elimina il bucket di origine e i relativi contenuti.

Riga di comando

  1. Se non ne hai ancora uno, crea un bucket di destinazione.

  2. Per copiare in modo ricorsivo i contenuti del bucket di origine nel bucket di destinazione, utilizza il comando gcloud storage cp con l'opzione --recursive:

    gcloud storage cp --recursive gs://SOURCE_BUCKET/* gs://DESTINATION_BUCKET

    Dove:

    • SOURCE_BUCKET è il nome del bucket originale. Ad esempio, old-bucket.

    • DESTINATION_BUCKET è il nome del bucket in cui stai spostando i dati. Ad esempio, my-bucket.

    Se il bucket utilizza cartelle gestite e uno spazio dei nomi piatto, devi includere il flag --include-managed-folders nel comando per copiare le cartelle gestite.

  3. Per eliminare in modo ricorsivo i contenuti dal bucket di origine, insieme al bucket di origine stesso, utilizza il comando gcloud storage rm con l'opzione --recursive:

    gcloud storage rm --recursive gs://SOURCE_BUCKET

    Dove SOURCE_BUCKET è il nome del tuo bucket originale. Ad esempio, old-bucket.

    In alternativa, per eliminare i contenuti dal bucket di origine senza eliminare il bucket di origine stesso, utilizza il comando gcloud storage rm con il flag --all-versions e il carattere jolly **:

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

    Dove SOURCE_BUCKET è il nome del tuo bucket originale. Ad esempio, old-bucket.

API REST

API JSON

  1. Se non hai ancora un bucket di destinazione, crealo.

  2. Copia ogni oggetto dal bucket di origine al bucket di destinazione.

  3. Elimina ogni oggetto nel bucket di origine.

  4. Elimina il bucket di origine.

API XML

  1. Se non hai ancora un bucket di destinazione, crealo.

  2. Copia ogni oggetto dal bucket di origine al bucket di destinazione.

  3. Elimina ogni oggetto nel bucket di origine.

  4. Elimina il bucket di origine.

Passaggi successivi