Questa pagina mostra come creare job di trasferimento tra un file system (on-premise o in cloud) e Cloud Storage.
I trasferimenti dai file system a Cloud Storage sono basati su agenti, ovvero dovrai installare agenti software su un computer con accesso al file system per orchestrare il trasferimento.
Configura autorizzazioni
Prima di creare un trasferimento, devi configurare le autorizzazioni per le seguenti entità:
L'account utente utilizzato per creare il trasferimento. Questo è il collegato alla console Google Cloud o l'account collegato specificato durante l'autenticazione nell'interfaccia a riga di comando "gcloud". L'account utente può essere un account utente normale o un account di servizio gestito dall'utente. | |
Il service account gestito da Google, noto anche come agente di servizio, utilizzato da Storage Transfer Service. Questo account è generalmente identificato da
il suo indirizzo email, che utilizza il formato
project-PROJECT_NUMBER@storage-transfer-service.iam.gserviceaccount.com .
|
|
L'account agente di trasferimento che fornisce le autorizzazioni Google Cloud per gli agenti di trasferimento. Per l'autenticazione, gli account agente di trasferimento utilizzano le credenziali dell'utente che li installa o le credenziali di un account di servizio gestito dall'utente. |
Per istruzioni, consulta la sezione Autorizzazioni di trasferimento basate su agenti.
Installa agenti in un pool di agenti
I trasferimenti basati su agenti utilizzano agenti software per orchestrare i trasferimenti. Questi agenti devono essere installati su una macchina con accesso al file system coinvolto nel trasferimento.
- Crea un pool di agenti. Utilizza il tuo account utente per questa azione.
- Installa agenti nel pool di agenti. Utilizza il tuo account di agente per i trasferimenti per questa azione.
Ti consigliamo di iniziare con 3 agenti nel pool di agenti di origine. Dopo il trasferimento è in corso, monitora la velocità di trasferimento; puoi aggiungere altri agenti, al pool mentre è in corso il trasferimento.
Consigliamo una VM per agente, ciascuna con almeno 4 CPU e 8 GB di RAM.
Opzioni di trasferimento
Le seguenti funzionalità di Storage Transfer Service sono disponibili per i trasferimenti da: in Cloud Storage.
- Trasferire file specifici utilizzando un manifest
- Puoi trasmettere un elenco di file su cui Storage Transfer Service deve intervenire. Per maggiori dettagli, consulta Trasferire file o oggetti specifici utilizzando un manifest.
- Specifica la classe di archiviazione
- Puoi specificare la
classe di archiviazione Cloud Storage da utilizzare per i dati nel
bucket di destinazione. Consulta le opzioni
StorageClass
per i dettagli REST o utilizza il flag--custom-storage-class
con Google Cloud CLI.Tieni presente che tutte le impostazioni della classe di archiviazione vengono ignorate se la destinazione in cui è abilitato Autoclass. Se Autoclass è abilitato, gli oggetti trasferiti nel bucket vengono inizialmente impostata su Standard Storage.
- Conservazione dei metadati
-
Quando trasferisci file dai file system, Storage Transfer Service può optionally conservare determinati attributi come metadati personalizzati. Se questi file vengono successivamente riscritti in un file system, Storage Transfer Service può convertire nuovamente i metadati conservati in attributi POSIX.
Consulta la sezione sui trasferimenti del file system POSIX di Metadati conservazione per informazioni dettagliate su quali metadati possono essere conservati. come configurare il trasferimento.
- Gestire la larghezza di banda della rete
- Storage Transfer Service utilizza per impostazione predefinita la larghezza di banda disponibile
per trasferire file dal tuo file system. Puoi impostare un limite di larghezza di banda su
impedire che un trasferimento influisca su altro traffico di rete. Limiti di larghezza di banda
vengono applicate a livello di pool di agenti.
Per scoprire di più, consulta Gestire la larghezza di banda della rete.
Il tuo account utente richiede Storage Transfer Admin (
roles/storagetransfer.admin
) ruolo da impostare o modificare limiti della larghezza di banda. - Logging
- Storage Transfer Service supporta Cloud Logging per Storage Transfer Service (consigliato), nonché in base a un agente log di trasferimento.
Crea un trasferimento
Non includere informazioni sensibili come informazioni che consentono l'identificazione personale (PII) o dati di sicurezza nel nome del job di trasferimento. I nomi delle risorse possono essere propagati ai nomi di altre risorse Google Cloud e possono essere esposti ai sistemi interni di Google al di fuori del progetto.
Storage Transfer Service offre diverse interfacce tramite le quali creare un'istanza trasferimento.
Console Google Cloud
Vai alla pagina Storage Transfer Service nella console Google Cloud.
Fai clic su Crea job di trasferimento. Viene visualizzata la pagina Crea un job di trasferimento.
Scegli File system POSIX come origine.
Seleziona Cloud Storage come tipo di destinazione e fai clic su Passaggio successivo.
Seleziona un pool di agenti esistente oppure Crea pool di agenti e segui le istruzioni per creare un nuovo pool.
Specifica il percorso completo della directory del file system.
Fai clic su Passaggio successivo.
Nel campo Bucket o cartella, inserisci il bucket di destinazione e (facoltativo) il nome della cartella oppure fai clic su Sfoglia per selezionare un bucket da un elenco di bucket esistenti nel progetto corrente. Per creare un nuovo bucket, fai clic su Crea nuovo bucket.
Fai clic su Passaggio successivo.
Scegli le opzioni di pianificazione.
Fai clic su Passaggio successivo.
Scegli le impostazioni per il job di trasferimento.
Nel campo Descrizione, inserisci una descrizione del trasferimento. Come best practice, inserisci una descrizione significativa e univoci, in modo da poter distinguere i job.
In Opzioni metadati, utilizza le opzioni predefinite, o aggiornare uno o più valori. Per maggiori dettagli, consulta la sezione Conservazione dei metadati.
In Quando sovrascrivere, seleziona una delle seguenti opzioni:
Mai: Storage Transfer Service salta il trasferimento di tutti i file dall'origine che hanno lo stesso nome di un file presente nella destinazione.
Se diverso: sovrascrive i file di destinazione se il file di origine. con lo stesso nome ha valori Etag o checksum diversi.
Sempre: sovrascrive sempre i file di destinazione quando il file di origine ha lo stesso nome, anche se sono identici.
In Quando eliminare, seleziona una delle seguenti opzioni:
Mai: non eliminare mai i file dall'origine o dalla destinazione.
Elimina i file dall'origine dopo il trasferimento: elimina i file dall'origine dopo il trasferimento alla destinazione.
Elimina i file dalla destinazione se non sono presenti anche nell'origine: se i file nel bucket Cloud Storage di destinazione non sono presenti anche nell'origine, eliminali dal bucket Cloud Storage.
Questa opzione garantisce che il bucket Cloud Storage di destinazione corrisponda esattamente all'origine.
Scegli se abilitare il logging in Cloud Storage e/o Abilita il logging in Cloud Logging. Per ulteriori informazioni, consulta Log di trasferimento del file system e Cloud Logging per Storage Transfer Service.
Per creare il job di trasferimento, fai clic su Crea.
gcloud
Prima di utilizzare i comandi gcloud
, installa Google Cloud CLI.
Per creare un nuovo job di trasferimento, utilizza gcloud transfer jobs create
. La creazione di un nuovo job avvia il trasferimento specificato, a meno che non venga
pianificazione o --do-not-run
è specificato.
gcloud transfer jobs create \ posix:///SOURCE \ gs://DESTINATION/ \ --source-agent-pool=SOURCE_POOL_NAME
Dove:
SOURCE è un percorso assoluto dal principale del file system. È preceduto dal prefisso
posix://
e quindi il valore finale includerà tre barre. Ad esempio:posix:///tmp/data/
.DESTINATION è il nome di un bucket Cloud Storage facoltativamente, un percorso della cartella seguito da una barra finale. Ad esempio,
gs://example-bucket/data/
.--source-agent-pool
specifica il pool di agenti di origine da utilizzare per questa richiesta trasferimento.
Altre opzioni includono:
--do-not-run
impedisce a Storage Transfer Service di eseguire il job al momento dell'invio del comando. Per eseguire il job, aggiornalo in aggiungi una programmazione o utilizzajobs run
per avviarla manualmente.--manifest-file
specifica il percorso di un file CSV in Cloud Storage contenente un elenco di file da trasferire dall'origine. Per la formattazione del file manifest, consulta Trasferire file o oggetti specifici utilizzando un manifest.Informazioni job: puoi specificare
--name
e--description
.Pianifica: specifica
--schedule-starts
,--schedule-repeats-every
e--schedule-repeats-until
o--do-not-run
.Opzioni di trasferimento: specifica se sovrascrivere i file di destinazione (
--overwrite-when=different
oalways
) e se eliminare determinati file durante o dopo il trasferimento (--delete-from=destination-if-unique
osource-after-transfer
); specifica i valori dei metadati da conservare (--preserve-metadata
) e, facoltativamente, imposta una classe di archiviazione sugli oggetti trasferiti (--custom-storage-class
).
Per visualizzare tutte le opzioni, esegui gcloud transfer jobs create --help
o consulta le
documentazione di riferimento gcloud
.
Tieni presente che non tutte le opzioni sono supportate per i trasferimenti basati su agente.
le opzioni non supportate contengono una nota in tal senso nel testo della guida.
REST
L'esempio seguente mostra come utilizzare Storage Transfer Service tramite REST tramite Google Cloud CLI o tramite l'API Compute Engine.
Quando configuri o modifichi i job di trasferimento utilizzando nell'API Storage Transfer Service, l'ora deve essere nel fuso orario UTC. Per ulteriori informazioni che specifica la pianificazione di un job di trasferimento, Programmazione.
Per spostare i file da un file system POSIX a un bucket Cloud Storage,
utilizza transferJobs.create
con un
posixDataSource
:
POST https://storagetransfer.googleapis.com/v1/transferJobs { "name":"transferJobs/sample_transfer", "description": "My First Transfer", "status": "ENABLED", "projectId": "my_transfer_project_id", "schedule": { "scheduleStartDate": { "year": 2022, "month": 5, "day": 2 }, "startTimeOfDay": { "hours": 22, "minutes": 30, "seconds": 0, "nanos": 0 } "scheduleEndDate": { "year": 2022, "month": 12, "day": 31 }, "repeatInterval": { "259200s" }, }, "transferSpec": { "posixDataSource": { "rootDirectory": "/bar/", }, "sourceAgentPoolName": "my_example_pool", "gcsDataSink": { "bucketName": "destination_bucket" "path": "foo/bar/" }, } }
La
schedule
è facoltativo; Se non è incluso, il job di trasferimento deve essere avviato
con una richiesta transferJobs.run
.
Per controllare lo stato del trasferimento dopo aver creato un job, utilizza
transferJobs.get
:
GET https://storagetransfer.googleapis.com/v1/transferJobs/sample_transfer?project_id=my_transfer_project_id
Librerie client
Gli esempi riportati di seguito mostrano come utilizzare Storage Transfer Service in modo programmatico con Go, Java, Node.js e Python.
Quando configuri o modifichi i job di trasferimento in modo programmatico, l'ora deve essere nel fuso orario UTC. Per ulteriori informazioni su come specificare la pianificazione di un job di trasferimento, consulta la sezione Pianificazione.
Per ulteriori informazioni sulle librerie client di Storage Transfer Service, consulta Introduzione alle librerie client di Storage Transfer Service.
Per spostare i file da un file system POSIX a un bucket Cloud Storage: