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
Se non hai ancora un bucket di destinazione, crealo.
Copia ogni oggetto dal bucket di origine al bucket di destinazione.
Riga di comando
Se non ne hai ancora uno, crea un bucket di destinazione.
Per copiare in modo ricorsivo i contenuti del bucket di origine nel bucket di destinazione, utilizza il comando
gcloud storage cpcon 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-foldersnel comando per copiare le cartelle gestite.Per eliminare in modo ricorsivo i contenuti dal bucket di origine, insieme al bucket di origine stesso, utilizza il comando
gcloud storage rmcon 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 rmcon il flag--all-versionse 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
Se non hai ancora un bucket di destinazione, crealo.
Copia ogni oggetto dal bucket di origine al bucket di destinazione.
Elimina ogni oggetto nel bucket di origine.
API XML
Se non hai ancora un bucket di destinazione, crealo.
Copia ogni oggetto dal bucket di origine al bucket di destinazione.
Elimina ogni oggetto nel bucket di origine.
Passaggi successivi
Scopri di più sulle località dei bucket disponibili e sulle linee guida per la denominazione dei bucket.