Ricevi eventi diretti da Cloud Storage (consoleGoogle Cloud )

Questa guida rapida mostra come ricevere eventi diretti da Cloud Storage in un servizio Cloud Run che consente l'accesso pubblico.

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 che utilizzano Google Cloud CLI, consulta Ricevi gli eventi direttamente 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 indicazioni dettagliate per questa attività direttamente nella console Google Cloud , fai clic su Procedura guidata:

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.

  1. 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 senza costi per l'esecuzione, il test e il deployment dei workload.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  3. If you're using an existing project for this guide, verify that you have the permissions required to complete this guide. If you created a new project, then you already have the required permissions.

  4. Verify that billing is enabled for your Google Cloud project.

  5. Enable the Cloud Build and Eventarc APIs.

    Roles required to enable APIs

    To enable APIs, you need the Service Usage Admin IAM role (roles/serviceusage.serviceUsageAdmin), which contains the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the APIs

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

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  7. If you're using an existing project for this guide, verify that you have the permissions required to complete this guide. If you created a new project, then you already have the required permissions.

  8. Verify that billing is enabled for your Google Cloud project.

  9. Enable the Cloud Build and Eventarc APIs.

    Roles required to enable APIs

    To enable APIs, you need the Service Usage Admin IAM role (roles/serviceusage.serviceUsageAdmin), which contains the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the APIs

Ruoli obbligatori

Per ottenere le autorizzazioni necessarie per completare questa guida rapida, chiedi all'amministratore di concederti i seguenti ruoli IAM nel tuo progetto:

Per saperne di più sulla concessione dei ruoli, consulta Gestisci l'accesso a progetti, cartelle e organizzazioni.

Potresti anche riuscire a ottenere le autorizzazioni richieste tramite i ruoli personalizzati o altri ruoli predefiniti.

Crea un bucket Cloud Storage

Questa guida rapida utilizza Cloud Storage come origine evento.

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

    Vai alla panoramica

  2. Fai clic su Crea bucket.

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

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

    Vai a Servizi

  2. Fai clic su Esegui il deployment del container.

  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 accesso pubblico.

    5. Accetta gli altri valori predefiniti.

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

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

    Vai ai trigger

  2. Fai clic su Crea trigger.

  3. Digita un Nome trigger.

    Ad esempio, hello-trigger.

  4. 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 i messaggi Pub/Sub.

  5. Nell'elenco Provider di eventi, seleziona Cloud Storage.

  6. Nell'elenco Tipo di evento, seleziona Diretti > 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 i seguenti ruoli:

  9. Utilizza l'account di servizio Compute predefinito come service account che richiama il servizio.

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

  11. Come servizio Cloud Run, seleziona il servizio hello di esempio creato in precedenza.

  12. Accetta gli altri valori predefiniti.

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

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

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

      Vai a Servizi

    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 in base al livello di gravità del log.

    4. 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 non siano previsti addebiti per Cloud Run quando il servizio non è in uso, ti potrebbero comunque essere addebitati i costi per quanto segue:

Puoi eliminare l'immagine, eliminare il bucket di archiviazione ed eliminare il servizio Cloud Run.

Per eliminare il trigger Eventarc:

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

    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 tuo progetto Google Cloud per evitare addebiti. L'eliminazione del tuo progetto Google Cloud interrompe la fatturazione per tutte le risorse utilizzate al suo interno.

  1. Nella console Google Cloud , vai alla pagina Gestisci risorse.

    Vai a Gestisci risorse

  2. Nell'elenco dei progetti, seleziona quello che vuoi eliminare, quindi fai clic su Elimina.
  3. Nella finestra di dialogo, digita l'ID del progetto e fai clic su Chiudi per eliminare il progetto.

Passaggi successivi