Ricevere eventi diretti da Cloud Storage (console Google Cloud)
Questa guida rapida mostra come ricevere eventi diretti da Cloud Storage in un servizio Cloud Run non autenticato.
Puoi configurare l'attivazione delle notifiche in risposta a vari eventi all'interno di un bucket Cloud Storage, come creazione, eliminazione, archiviazione e aggiornamenti dei metadati degli oggetti. Per ulteriori informazioni, consulta Crea un trigger per il routing degli eventi di Cloud Storage a Cloud Run.
Puoi completare questa guida rapida utilizzando la console Google Cloud. Per istruzioni sull'utilizzo di Google Cloud CLI, consulta Ricevere eventi diretti da Cloud Storage (gcloud CLI).
In questa guida rapida:
Creare un bucket Cloud Storage come origine evento.
Esegui il deployment di un servizio di esempio in Cloud Run per ricevere eventi.
Creare un trigger Eventarc per filtrare ed eseguire il routing degli eventi.
Generare un evento caricando un file nel bucket Cloud Storage e visualizzare l'evento nei log di Cloud Run.
Per seguire le indicazioni dettagliate per questa attività direttamente nella console Google Cloud, fai clic su Procedura guidata:
Prima di iniziare
I vincoli di sicurezza definiti dalla tua organizzazione potrebbero impedirti di completare i passaggi seguenti. Per informazioni sulla risoluzione dei problemi, vedi Sviluppare applicazioni in un Google Cloud ambiente vincolato.
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Cloud Build and Eventarc APIs.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Cloud Build and Eventarc APIs.
Crea un bucket Cloud Storage
Questa guida rapida utilizza Cloud Storage come origine evento.Nella console Google Cloud, vai alla pagina Bucket in Cloud Storage.
Fai clic su
Crea.Inserisci un nome univoco per il bucket.
Ad esempio,
hello-bucket
.Fai clic su Continua.
In Tipo di località, seleziona Regione e poi us-central1 (Iowa).
Accetta gli altri valori predefiniti.
Fai clic su Crea.
Dopo aver creato l'origine evento, puoi eseguire il deployment del servizio di ricezione di eventi in Cloud Run.
Esegui il deployment del servizio di ricezione di eventi in Cloud Run
Esegui il deployment di un servizio Cloud Run di esempio che riceve e registra gli eventi.
Nella console Google Cloud, vai alla pagina Servizi di Cloud Run.
Fai clic su
Crea servizio.Nel modulo Crea servizio:
Seleziona Esegui il deployment di una revisione da un'immagine container esistente.
Fai clic su Test con un container di esempio.
Nell'elenco Regione, come località del servizio seleziona us-central1 (Iowa).
Per Autenticazione, seleziona Consenti chiamate non autenticate.
Per eseguire il deployment dell'immagine contenitore di esempio, fai clic su Crea.
Il deployment del servizio hello
può richiedere fino a due minuti.
Crea un trigger Eventarc
L'trigger Eventarc invierà gli eventi dal bucket Cloud Storage al servizio Cloud Run di esempio.Nella console Google Cloud, vai alla pagina Eventarc Trigger.
Fai clic su
Crea trigger.Digita un Nome trigger.
Ad esempio,
hello-trigger
.Nell'elenco Tipo di trigger, seleziona Origini Google.
In questo modo vengono filtrati gli eventi inviati dai Google Cloud provider (direttamente o tramite voci degli audit log di Cloud) o dai provider che utilizzano i messaggi Pub/Sub.
Nell'elenco Provider di eventi, seleziona Cloud Storage.
Nell'elenco Tipo di evento, seleziona Diretto > google.cloud.storage.object.v1.finalized.
Per Bucket, seleziona il bucket Cloud Storage hello-bucket che hai creato in precedenza.
Se richiesto, concedi quanto segue:
- Il ruolo
iam.serviceAccountTokenCreator
al service account Pub/Sub - Il ruolo
pubsub.publisher
al service account Cloud Storage
- Il ruolo
Utilizza l'account di servizio Compute predefinito come account di servizio che richiama il tuo servizio.
Nell'elenco Destinazione evento, seleziona Cloud Run.
Come servizio Cloud Run, seleziona il servizio hello di esempio creato in precedenza.
Fai clic su Crea.
Potrebbero essere necessari alcuni minuti prima che tutte le autorizzazioni necessarie vengano propagate all'agente di servizio Eventarc. Se ricevi un errore Permission denied
while using the Eventarc Service Agent
, attendi qualche minuto e riprova. Una volta creato, un trigger può richiedere fino a due minuti per essere completamente funzionale.
Generare e visualizzare un evento
Genera un evento e verifica che l'trigger Eventarc funzioni come previsto.
Per generare un evento:
Crea un file di testo con il nome file
random.txt
e il testo "Hello World".Nella console Google Cloud, vai alla pagina Bucket in Cloud Storage.
Fai clic sul nome del bucket di archiviazione che hai creato.
Nella scheda Oggetti, fai clic su Carica file e carica il file
random.txt
.
Il caricamento genera un evento e il servizio Cloud Run registra il messaggio dell'evento.
Per visualizzare la voce di log:
Nella console Google Cloud, vai alla pagina Servizi di Cloud Run.
Fai clic sul nome del servizio che hai creato.
Per recuperare le voci di log per tutte le revisioni di questo servizio, fai clic sulla scheda Log nella pagina Dettagli servizio. Puoi filtrare in base al livello di gravità del log.
Cerca una voce di log simile alla seguente:
Received event of type google.cloud.storage.object.v1.finalized. Event data: [...]
Complimenti! Hai eseguito correttamente il deployment di un servizio di ricezione di eventi in Cloud Run, hai creato un attivatore Eventarc, hai generato un evento da Cloud Storage e lo hai visualizzato nei log di Cloud Run.
Esegui la pulizia
Per evitare che al tuo account Google Cloud vengano addebitati costi relativi alle risorse utilizzate su questa pagina, segui questi passaggi.
Sebbene non siano previsti addebiti per Cloud Run quando il servizio non è in uso, ti potrebbero comunque essere addebitati i costi di archiviazione dell'immagine container in Container Registry, delle risorse Cloud Run e di archiviazione dei file nel bucket Cloud Storage.Puoi eliminare l'immagine, eliminare il bucket di archiviazione ed eliminare il tuo servizio.
Per eliminare il trigger Eventarc:
Nella console Google Cloud, vai alla pagina Eventarc Trigger.
Fai clic sul nome del trigger che hai creato.
Nella pagina Dettagli trigger, fai clic su
Elimina.
In alternativa, puoi eliminare il progetto Google Cloud per evitare addebiti. L'eliminazione del progetto Google Cloud interrompe la fatturazione per tutte le risorse utilizzate all'interno del progetto.
- In the Google Cloud console, go to the Manage resources page.
- In the project list, select the project that you want to delete, and then click Delete.
- In the dialog, type the project ID, and then click Shut down to delete the project.