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, tra cui creazione, eliminazione, archiviazione di oggetti e aggiornamenti dei metadati. Per ulteriori informazioni, consulta Creare un trigger per instradare gli eventi di Cloud Storage a Cloud Run.

Puoi completare questa guida rapida utilizzando la console Google Cloud. Per istruzioni relative all'utilizzo di Google Cloud CLI, consulta Ricevere eventi diretti da Cloud Storage (gcloud CLI).

In questa guida rapida:

  1. Creare un bucket Cloud Storage come origine evento.

  2. Esegui il deployment di un servizio di esempio in Cloud Run per ricevere eventi.

  3. Creare un trigger Eventarc per filtrare ed eseguire il routing degli eventi.

  4. 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:

Guidami


Prima di iniziare

I vincoli di sicurezza definiti dalla tua organizzazione potrebbero impedirti di completare i passaggi seguenti. Per informazioni sulla risoluzione dei problemi, consulta la pagina Sviluppare applicazioni in un ambiente Google Cloud limitato.

  1. 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.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  3. Make sure that billing is enabled for your Google Cloud project.

  4. Enable the Cloud Build and Eventarc APIs.

    Enable the APIs

  5. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  6. Make sure that billing is enabled for your Google Cloud project.

  7. Enable the Cloud Build and Eventarc APIs.

    Enable the APIs

Crea un bucket Cloud Storage

Questa guida rapida utilizza Cloud Storage come origine evento.

  1. Nella console Google Cloud, vai alla pagina Cloud Storage.

    Vai a Cloud Storage

  2. Fai clic su Crea.

  3. Inserisci un nome univoco per il bucket.

    Ad esempio, hello-bucket.

  4. Fai clic su Continua.

  5. In Tipo di località, seleziona Regione e poi us-central1 (Iowa).

  6. Accetta gli altri valori predefiniti.

  7. 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 eventi.

  1. Nella console Google Cloud, vai alla pagina Cloud Run.

    Vai a Cloud Run

  2. Fai clic su Crea servizio.

  3. Nel modulo Crea servizio:

    1. Seleziona Esegui il deployment di una revisione da un'immagine container esistente.

    2. Fai clic su Test con un container di esempio.

    3. Nell'elenco Regione, come località del servizio seleziona us-central1 (Iowa).

    4. Per Autenticazione, seleziona Consenti chiamate non autenticate.

    5. 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à gli eventi dal bucket Cloud Storage al servizio Cloud Run di esempio.

  1. Nella console Google Cloud, vai alla pagina Eventarc.

    Vai ai trigger

  2. Fai clic su Crea trigger.

  3. Digita un Nome trigger.

    Ad esempio, hello-trigger.

  4. Seleziona un Tipo di attivatore:

    • Proprietario: 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.
  5. Nell'elenco Provider di eventi, seleziona Origini Google > Cloud Storage.

  6. Nell'elenco Evento, seleziona Diretto > google.cloud.storage.object.v1.finalized.

  7. Per Bucket, seleziona il bucket Cloud Storage hello-bucket che hai creato in precedenza.

  8. 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
  9. Utilizza l'account di servizio Compute predefinito come account di servizio che richiama il servizio.

  10. Nell'elenco Destinazione evento, seleziona Cloud Run.

  11. Per il servizio Cloud Run, seleziona il servizio hello di esempio che hai creato in precedenza.

  12. 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ò essere necessario attendere fino a due minuti prima che sia completamente funzionante.

Generare e visualizzare un evento

Genera un evento e verifica che il trigger Eventarc funzioni come previsto.

  1. Per generare un evento:

    1. Crea un file di testo con il nome file random.txt e il testo "Hello World".

    2. Nella console Google Cloud, vai alla pagina Cloud Storage.

      Vai a Bucket

    3. Fai clic sul nome del bucket di archiviazione che hai creato.

    4. 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.

  2. Per visualizzare la voce di log:

    1. Nella console Google Cloud, vai alla pagina Cloud Run.

      Vai a Cloud Run

    2. Fai clic sul nome del servizio che hai creato.

    3. Per recuperare le voci di log per tutte le revisioni di questo servizio, fai clic sulla scheda Log nella pagina Dettagli servizio. Puoi filtrare per livello di gravità dei log.

    4. 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 trigger 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 in questa pagina, segui questi passaggi:

Sebbene Cloud Run non ti addebiti quando il servizio non è in uso, è possibile che ti vengano addebitati i costi per l'archiviazione dell'immagine container in Container Registry, le risorse di Cloud Run e per l'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:

  1. Nella console Google Cloud, vai alla pagina Eventarc.

    Vai ai trigger

  2. Fai clic sul nome del trigger che hai creato.

  3. 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.

  1. In the Google Cloud console, go to the Manage resources page.

    Go to Manage resources

  2. In the project list, select the project that you want to delete, and then click Delete.
  3. In the dialog, type the project ID, and then click Shut down to delete the project.

Passaggi successivi