Creare un trigger utilizzando Cloud Audit Logs e la console Google Cloud
Questa guida rapida mostra come ricevere eventi diretti da Cloud Storage in un servizio Cloud Run non autenticato.
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 istruzioni dettagliate per questa attività direttamente nella console Google Cloud, fai clic su Procedura guidata:
Prima di iniziare
Alcuni passaggi di questo documento potrebbero non funzionare correttamente se la tua organizzazione applica vincoli al tuo ambiente Google Cloud. In questo caso, potresti non riuscire a completare attività come la creazione di indirizzi IP pubblici o delle chiavi degli account di servizio. Se effettui una richiesta che restituisce un errore sui vincoli, scopri come sviluppare applicazioni in un ambiente Google Cloud con restrizioni.
- Accedi al tuo account Google Cloud. Se non conosci Google Cloud, crea un account per valutare le prestazioni dei nostri prodotti in scenari reali. I nuovi clienti ricevono anche 300 $di crediti gratuiti per l'esecuzione, il test e il deployment dei carichi di lavoro.
-
Nella pagina del selettore dei progetti in Google Cloud Console, seleziona o crea un progetto Google Cloud.
-
Assicurati che la fatturazione sia attivata per il tuo progetto Cloud. Scopri come verificare se la fatturazione è abilitata su un progetto.
-
Abilita le API Cloud Build and Eventarc.
-
Nella pagina del selettore dei progetti in Google Cloud Console, seleziona o crea un progetto Google Cloud.
-
Assicurati che la fatturazione sia attivata per il tuo progetto Cloud. Scopri come verificare se la fatturazione è abilitata su un progetto.
-
Abilita le API Cloud Build and Eventarc.
Crea un bucket Cloud Storage
Questa guida rapida utilizza Cloud Storage come origine evento.Nella console Google Cloud, vai alla pagina 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
Eseguire il deployment di un servizio Cloud Run di esempio che riceve e registra gli eventi.
Nella console Google Cloud, vai alla pagina 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 container di esempio, fai clic su Crea.
Il completamento del deployment del servizio hello
può richiedere fino a due minuti.
Crea un trigger Eventarc
Il trigger Eventarc invierà gli eventi dal bucket Cloud Storage al servizio Cloud Run di esempio.Nella console Google Cloud, vai alla pagina Eventarc.
Fai clic su
Crea trigger.Digita un Nome trigger.
Ad esempio,
hello-trigger
.Seleziona un tipo di attivatore:
- Proprietari: filtra gli eventi inviati dai provider Google Cloud (direttamente o tramite voci di Cloud Audit Logs) o dai provider che utilizzano messaggi Pub/Sub.
- Di terze parti: filtra gli eventi inviati direttamente da fornitori di terze parti.
Nell'elenco Provider di eventi, seleziona Origini Google > Cloud Storage.
Nell'elenco Evento, seleziona Diretto > google.cloud.storage.object.v1.finalized.
Per Bucket, seleziona il bucket Cloud Storage hello-bucket creato in precedenza.
Se richiesto, concedi quanto segue:
- Il ruolo
iam.serviceAccountTokenCreator
all'account di servizio Pub/Sub - Il ruolo
pubsub.publisher
all'account di servizio 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.
Per il servizio Cloud Run, seleziona l'esempio di servizio hello che hai creato in precedenza.
Fai clic su Crea.
La propagazione di tutte le autorizzazioni necessarie all'agente di servizio Eventarc potrebbe richiedere qualche minuto. Se ricevi un errore Permission denied
while using the Eventarc Service Agent
, attendi qualche minuto e riprova. Dopo aver creato un trigger, potrebbero trascorrere fino a due minuti prima che il trigger diventi 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.
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 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 il deployment di un servizio di ricezione di eventi in Cloud Run, hai creato un trigger Eventarc, generato un evento da Cloud Storage e lo hai visualizzato nei log di Cloud Run.
Esegui la pulizia
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, risorse Cloud Run e archiviazione di 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.
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 tuo progetto Cloud interrompe la fatturazione per tutte le risorse utilizzate al suo interno.
- In Google Cloud Console, vai alla pagina Gestisci risorse.
- Nell'elenco dei progetti, seleziona il progetto che vuoi eliminare, quindi fai clic su Elimina.
- Nella finestra di dialogo, digita l'ID del progetto e fai clic su Chiudi per eliminare il progetto.