Ricevi eventi diretti da Cloud Storage (consoleGoogle 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: creazione, eliminazione, archiviazione e aggiornamenti dei metadati degli oggetti. Per maggiori 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 utilizzando 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 Google Cloud console, 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 ambiente Google Cloud 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 Cloud Storage > Panoramica.
Fai clic su
Crea bucket.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 Google Cloud console, vai alla pagina Servizi di Cloud Run.
Fai clic su > Servizio.
Esegui il deployment del containerNel 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.
Accetta gli altri valori predefiniti.
Per eseguire il deployment dell'immagine container di esempio, fai clic su Crea.
Il deployment del servizio hello
può richiedere fino a due minuti.
Crea un trigger Eventarc
Il trigger Eventarc invierà 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.
Questo filtro filtra gli eventi inviati dai provider Google Cloud (direttamente o tramite le voci di Cloud Audit Logs) o dai provider che utilizzano messaggi Pub/Sub.
Nell'elenco Provider di eventi, seleziona Cloud Storage.
Nell'elenco Tipo di evento, seleziona Diretti > 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 service account 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.
Accetta gli altri valori predefiniti.
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, potrebbero essere necessari fino a due minuti prima che sia
completamente funzionale.
Generare e visualizzare un evento
Genera un evento e verifica che il 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 Cloud Storage > Bucket.
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 Google Cloud console, 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 a:
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, creato un trigger Eventarc, generato un evento da Cloud Storage e visualizzato nei log di Cloud Run.
Esegui la pulizia
Per evitare che al tuo account Google Cloud vengano addebitati costi relativi alle risorse utilizzate in questa pagina, segui questi passaggi.
Sebbene Cloud Run non addebiti costi quando il servizio non è in uso, potresti comunque dover pagare per l'archiviazione dell'immagine container in Container Registry, per le risorse Cloud Run e per l'archiviazione dei file nel bucket Cloud Storage.Puoi eliminare l'immagine, eliminare il bucket di archiviazione ed eliminare il servizio Cloud Run.
Per eliminare il trigger Eventarc:
Nella Google Cloud console, vai alla pagina Trigger Eventarc.
Fai clic sul nome del trigger che hai creato.
Nella pagina Dettagli trigger, fai clic su
Elimina.
In alternativa, puoi eliminare il tuo progetto Google Cloud per evitare addebiti. L'eliminazione del progetto Google Cloud interrompe la fatturazione di tutte le risorse utilizzate al suo interno.
- 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.