Storage Transfer Service supporta il trasferimento di file o oggetti specifici, che vengono specificati utilizzando un manifest. Un manifest è un file CSV caricato su Cloud Storage che contiene un elenco di file o oggetti su cui Storage Transfer Service deve intervenire.
Un manifest può essere utilizzato per i seguenti trasferimenti:
Da AWS S3, Azure Blobstore o Cloud Storage a un nel bucket Cloud Storage.
Da un file system a un bucket Cloud Storage.
Da spazio di archiviazione compatibile con S3 a un bucket Cloud Storage.
Da un bucket Cloud Storage a un file system.
Tra due file system.
Da un'origine HTTP/HTTPS accessibile pubblicamente a Cloud Storage di sincronizzare la directory di una VM con un bucket. Segui le istruzioni in Crea un elenco di URL come manifest. è univoco per gli elenchi di URL.
Creare un manifest
I manifest devono essere formattati come CSV e possono contenere qualsiasi carattere UTF-8. La prima colonna deve essere un nome file o un nome oggetto specificato come stringa.
I file manifest non supportano i caratteri jolly. Il valore deve essere un file specifico o nome dell'oggetto. I nomi delle cartelle senza un nome file o oggetto non sono supportati.
La dimensione massima del file manifest è 1 GiB, ovvero circa 1 milione di righe. Se devi trasferire un file manifest di dimensioni superiori a 1 GiB, puoi dividerlo in più file ed eseguire più job di trasferimento.
Se il nome di un file o di un oggetto contiene virgole, il nome deve essere racchiuso tra
tra virgolette, secondo
Standard CSV.
Ad esempio, "object1,a.txt"
.
Consigliamo di testare il trasferimento con un piccolo sottoinsieme di file o oggetti evitare chiamate API non necessarie a causa di errori di configurazione.
Puoi monitorare lo stato dei trasferimenti di file dalla pagina Job di trasferimento. I file o gli oggetti che non vengono trasferiti sono elencati nella log di trasferimento.
Trasferimenti del file system
Per creare un manifest di file in un file system, crea un file CSV con una singola contenente i percorsi dei file relativi alla directory principale specificata in la creazione del job di trasferimento.
Ad esempio, ti consigliamo di trasferire i seguenti file del file system:
Percorso file |
---|
rootdir/dir1/subdir1/file1.txt |
rootdir/file2.txt |
rootdir/dir2/subdir1/file3.txt |
Il file manifest dovrebbe avere l'aspetto dell'esempio seguente:
dir1/subdir1/file1.txt
file2.txt
dir2/subdir1/file3.txt
Trasferimenti di dati in archiviazione di oggetti
Per creare un manifest di oggetti, crea un file CSV la cui prima colonna contiene i nomi degli oggetti relativi al nome e al percorso del bucket specificati nella creazione del job di trasferimento. Tutti gli oggetti devono trovarsi nello stesso bucket.
Puoi anche specificare una seconda colonna facoltativa con il numero di generazione di Cloud Storage della versione specifica da trasferire.
Ad esempio, potresti voler trasferire i seguenti oggetti:
Percorso oggetto | Numero di generazione di Cloud Storage |
---|---|
SOURCE_PATH/object1.pdf |
1664826685911832 |
SOURCE_PATH/object2.pdf |
|
SOURCE_PATH/object3.pdf |
1664826610699837 |
Il file manifest dovrebbe avere l'aspetto dell'esempio seguente:
object1.pdf,1664826685911832
object2.pdf
object3.pdf,1664826610699837
Salva il file manifest con un nome file qualsiasi e un'estensione .csv
.
Trasferimenti HTTP/HTTPS
Per trasferire file specifici da un'origine HTTP o HTTPS, consulta le istruzioni in Creare un elenco di URL.
Pubblica il manifest
Una volta creato il file manifest, devi renderlo disponibile Storage Transfer Service. Storage Transfer Service può accedere al file in un bucket Cloud Storage o nel tuo file system.
Carica il file manifest su Cloud Storage
Puoi archiviare il file manifest in qualsiasi bucket Cloud Storage.
L'agente di servizio che esegue il trasferimento deve disporre dell'autorizzazione storage.objects.get
per il bucket contenente il manifest. Consulta Concedere le autorizzazioni richieste per istruzioni su come trovare l'ID agente di servizio e concedere autorizzazioni a quell'agente di servizio in un bucket.
Per istruzioni sul caricamento del manifest in un bucket, consulta Caricare oggetti in Cloud Storage documentazione.
Ad esempio, per utilizzare l'interfaccia a riga di comando gcloud
per caricare un file su Cloud Storage,
utilizza il comando gcloud storage cp
:
gcloud storage cp MANIFEST.CSV gs://DESTINATION_BUCKET_NAME/
Dove:
MANIFEST.CSV
è il percorso locale manifest. Ad esempio,Desktop/manifest01.csv
.DESTINATION_BUCKET_NAME
è il nome del in cui stai caricando l'oggetto. Ad esempio,my-bucket
.
Se l'esito è positivo, la risposta è simile al seguente esempio:
Completed files 1/1 | 164.3kiB/164.3kiB
Puoi criptare un manifest utilizzando le chiavi di crittografia di Cloud KMS gestite dal cliente. In questo caso, assicurati che a tutti gli account di servizio che accedono al manifest siano assegnate le chiavi di crittografia applicabili. Le chiavi fornite dal cliente non sono supportate.
Archiviare il manifest in un file system
Puoi archiviare il file manifest nel file system di origine o di destinazione.
Il percorso del file deve essere accessibile agli agenti di trasferimento. Se limitare l'accesso alla directory per i tuoi agenti, assicurati che il file manifest si trovi in un file .
Avviare un trasferimento
Non modificare il file manifest fino al completamento di un'operazione di trasferimento. Ti consigliamo di bloccare il file manifest quando è in corso un trasferimento.
console Cloud
Per avviare un trasferimento con un manifest dalla console Cloud:
Segui le istruzioni riportate in Creare trasferimenti per selezionare la sorgente, la destinazione e le opzioni.
Nel passaggio finale, Scegli impostazioni, seleziona la casella di controllo Fornisci l'elenco dei file da trasferire tramite il file manifest.
Inserisci la posizione del file manifest.
gcloud
Per trasferire i file o gli oggetti elencati nel manifest, includi il flag --manifest-file=MANIFEST_FILE
con il comando gcloud transfer jobs create
.
gcloud transfer jobs create SOURCE DESTINATION \
--manifest-file=MANIFEST_FILE
MANIFEST_FILE può essere uno dei seguenti valori:
Il percorso del file CSV in un bucket Cloud Storage:
--manifest-file=gs://my_bucket/sample_manifest.csv
Consulta Caricare il manifest su Cloud Storage per informazioni dettagliate sulle autorizzazioni richieste, se il bucket o il file non è pubblico.
Il percorso relativo dal file system SOURCE, incluso qualsiasi percorso specificato:
--manifest-file=source://relative_path/sample_manifest.csv
Il percorso relativo del file system DESTINATION, tra cui qualsiasi percorso specificato:
--manifest-file=destination://relative_path/sample_manifest.csv
REST + librerie client
REST
Per trasferire i file o gli oggetti elencati nel manifest, esegui
una chiamata API createTransferJob
che specifica
transferSpec
con
Campo transferManifest
aggiunto. Ad esempio:
POST https://storagetransfer.googleapis.com/v1/transferJobs ... "transferSpec": { "posixDataSource": { "rootDirectory": "/home/", }, "gcsDataSink": { "bucketName": "GCS_NEARLINE_SINK_NAME", "path": "GCS_SINK_PATH", }, "transferManifest": { "location": "gs://my_bucket/sample_manifest.csv" } }
Il file manifest può essere archiviato in un bucket Cloud Storage o nella
di origine o di destinazione. I bucket Cloud Storage devono utilizzare la classe
gs://
e includi il percorso completo, incluso il bucket
nome. Le posizioni del file system devono utilizzare un prefisso source://
o
destination://
e sono relative alla posizione di origine o di destinazione del file system e alla directory principale facoltativa.
Vai
Java
Node.js
Python
Gli oggetti o i file nel manifest non vengono necessariamente trasferiti nell'ordine elencato.
Se il manifest include file già esistenti nella destinazione, vengono ignorati a meno che non sovrascrivi gli oggetti già esistenti nel sink è specificata.
Se il manifest include oggetti esistenti in una versione diversa nella destinazione, l'oggetto nella destinazione viene sovrascritto con la versione di origine dell'oggetto. Se la destinazione è un bucket sottoposto al controllo delle versioni, viene dell'oggetto.
Passaggi successivi
- Scopri come filtrare gli oggetti provenienti dai trasferimenti.
- Scopri come pianificare i job di trasferimento.