2015-06-25 9 views

risposta

6

Per copiare un singolo oggetto da una posizione GCS a un'altra, è possibile utilizzare il comando di copia. Questo può essere fatto da una delle nostre API pubbliche o dal nostro client della riga di comando, gsutil.

Con gsutil, il comando è semplicemente:

gsutil cp gs://bucket1/obj gs://bucket2/obj2 

Edit: Da quando ho scritto questo, il servizio trasferimento Google Cloud è diventato disponibile, che è buono per la copia di interi secchi tra i progetti GCS, o per la copia di tutta la secchi da S3 a GCS. Puoi trovare ulteriori informazioni qui: https://cloud.google.com/storage/transfer/

+2

Sembra copiare tra due bucket nello stesso progetto. Hai un esempio di copia da un progetto all'altro? – HannahS

+3

I bucket in questo esempio possono trovarsi in diversi progetti. Non c'è nulla in questo esempio che menzioni un progetto specifico. –

+1

Il problema è nelle credenziali, è necessario disporre delle credenziali con l'accesso a entrambi i progetti. – xmedeko

3

I nomi dei bucket in GCS sono unici in tutti i tuoi progetti. Ad esempio, Project1 e Project2 non possono avere entrambi i bucket denominati "images", sebbene ciascuno di essi possa avere cartelle all'interno di quei bucket denominati "images".

Questo può sembrare fuorviante perché gsutil potrebbe chiederti di selezionare un progetto con cui lavorare. Per il comando copia, questa selezione può essere ignorata.

gsutil cp gs://bucket1/obj gs://bucket2/obj

vi permetterà di copiare un oggetto in Project1/bucket1 a Project2/bucket2

-1

se volete copiare i dati da un progetto all'altro, ho cercato qui di seguito le cose ed è il lavoro, [il trasferimento di file dal progetto 1 compute engine server1 a bucket1, scaricarlo sul progetto 2 compute engine server 2 e caricarlo sul bucket 2].
1. trasferire i dati al bucket di primo progetto/google utilizzando gsutil.
2. accedere a webui, cloud.google.com, selezionare il progetto quando si trasferisce il file nel passaggio 1 e andare alla memoria e vedere il file presente. seleziona quel file e controlla la condivisione pubblica sul lato destro.
3. fare clic con il tasto destro sul collegamento pubblico e selezionare l'indirizzo del link di copia.
4. accedere a un altro server motore di calcolo del progetto e utilizzare wget e il collegamento si ottiene nel passaggio 3, il gioco è fatto. ora puoi nuovamente utilizzare gsutil e caricare il file in un altro bucket di archiviazione di Google.
5. Punto importante, si prega di disabilitare nuovamente il collegamento pubblico condiviso.

spero che possa essere d'aiuto.

1

Apri La console Web Storage > Tranfer per creare un nuovo trasferimento.

Selezionare il bucket di origine da cui si desidera copiare. Proprio come cratervale menitoned appena sopra, gli identificatori di bucket sono unici (questa è la chiave della soluzione). Quindi, una volta raggiunta la parte di destinazione del modulo di trasferimento, è possibile scrivere/incollare il bucket di destinazione direttamente nel suo input di testo. Anche se quel secchio proviene da un altro progetto. Ti mostrerà un'icona verde una volta che il bersaglio è stato verificato come un secchio esistente. È possibile continuare di nuovo il modulo per finalizzare la configurazione.

Una volta avviato il trasferimento dal modulo, è possibile seguirne il progresso premendo il pulsante di aggiornamento nella parte superiore della console.

Problemi correlati