Storage Transfer Service può ascoltare le notifiche di eventi in Google Cloud per trasferire automaticamente i dati aggiunti o aggiornati in un bucket Cloud Storage. Scopri di più sui vantaggi dei trasferimenti basati su eventi.
I trasferimenti basati su eventi da Cloud Storage utilizzano le notifiche Pub/Sub per sapere quando gli oggetti nel bucket di origine sono stati modificati o aggiunti. Le eliminazioni di oggetti non vengono rilevate; l'eliminazione di un oggetto nell'origine non comporta l'eliminazione dell'oggetto associato nel bucket di destinazione.
I trasferimenti basati su eventi utilizzano sempre un bucket Cloud Storage come destinazione.
Configura autorizzazioni
Oltre alle
autorizzazioni richieste per tutti i job di trasferimento,
i trasferimenti basati sugli eventi richiedono il ruolo Pub/Sub Subscriber.
Trova il nome del service agent Storage Transfer Service per il tuo progetto:
Vai alla pagina di riferimento
googleServiceAccounts.get.Si apre un riquadro interattivo intitolato Prova questo metodo.
Nel riquadro, in Parametri della richiesta, inserisci il tuo ID progetto. Il progetto che specifichi qui deve essere quello che utilizzi per gestire Storage Transfer Service, che potrebbe essere diverso dal progetto del bucket di origine.
Fai clic su Esegui.
L'email dell'agente di servizio viene restituita come valore di
accountEmail. Copia questo valore.L'email dell'agente del servizio utilizza il formato
project-PROJECT_NUMBER@storage-transfer-service.iam.gserviceaccount.com.Concedi il ruolo
Pub/Sub Subscriberal service agent Storage Transfer Service.console Cloud
Segui le istruzioni riportate in Controllare l'accesso tramite la console Google Cloud per concedere il ruolo
Pub/Sub Subscriberal servizio Storage Transfer Service. Il ruolo può essere concesso a livello di argomento, sottoscrizione o progetto.gcloudCLISegui le istruzioni riportate in Impostare una policy per aggiungere il seguente binding:
{ "role": "roles/pubsub.subscriber", "members": [ "serviceAccount:project-PROJECT_NUMBER@storage-transfer-service.iam.gserviceaccount.com" }
Configurare Pub/Sub
Assicurati di aver soddisfatto i prerequisiti per l'utilizzo di Pub/Sub con Cloud Storage.
Crea una notifica Pub/Sub per il bucket Cloud Storage di origine.
Non puoi gestire le notifiche Pub/Sub con la console Google Cloud . Utilizza gcloud CLI o una delle librerie client disponibili.
gcloud storage buckets notifications create gs://SOURCE_BUCKET_NAME --topic=TOPIC_NAME
Crea una sottoscrizione pull per l'argomento. Devi creare un abbonamento separato per ogni job di trasferimento.
Il seguente esempio mostra il comando Google Cloud CLI per creare un abbonamento pull. Per le istruzioni della console e il codice della libreria client, vedi Creare una sottoscrizione pull.
gcloud pubsub subscriptions create SUBSCRIPTION_ID --topic=TOPIC_NAME --ack-deadline=300
Creare un job di trasferimento
Puoi utilizzare la console Google Cloud , Google Cloud CLI o l'API REST per creare un job di trasferimento basato sugli eventi.
Non includere informazioni sensibili come quelle che consentono l'identificazione personale (PII) o dati di sicurezza nel nome del job di trasferimento. I nomi delle risorse potrebbero essere propagato ai nomi di altre risorse Google Cloud e potrebbe essere esposto ai sistemi interni di Google al di fuori del tuo progetto.
console Cloud
Vai alla pagina Crea job di trasferimento nella console Google Cloud .
Seleziona Cloud Storage sia come origine che come destinazione.
Come Modalità di pianificazione, seleziona Basata sugli eventi e fai clic su Passaggio successivo.
Seleziona il bucket di origine per questo trasferimento.
Nella sezione Stream di eventi, inserisci il nome dell'abbonamento:
projects/PROJECT_NAME/subscriptions/SUBSCRIPTION_IDSe vuoi, definisci i filtri, poi fai clic su Passaggio successivo.
Seleziona il bucket di destinazione per questo trasferimento.
(Facoltativo) Inserisci un'ora di inizio e di fine per il trasferimento. Se non specifichi un orario, il trasferimento inizierà immediatamente e verrà eseguito finché non verrà interrotto manualmente.
Specifica le opzioni di trasferimento. Per ulteriori informazioni, consulta la pagina Crea trasferimenti.
Fai clic su Crea.
Una volta creato, il job di trasferimento inizia a essere eseguito e un listener di eventi attende le notifiche sulla sottoscrizione Pub/Sub. La pagina dei dettagli del job mostra un'operazione ogni ora e include i dettagli sui dati trasferiti per ogni job.
gcloud
Per creare un job di trasferimento basato su eventi utilizzando Google Cloud CLI, utilizza il comando gcloud transfer jobs create con il flag --event-stream-name:
gcloud transfer jobs create \
gs://SOURCE_BUCKET \
gs://