Questa pagina descrive come configurare il bucket per l'invio di notifiche relative alle modifiche degli oggetti a un argomento Pub/Sub. Per informazioni su come abbonarsi a un argomento Pub/Sub che riceve notifiche, consulta Scegliere un tipo di sottoscrizione.
Prima di iniziare
Prima di utilizzare questa funzionalità, completa le seguenti istruzioni.
Abilita l'API Pub/Sub
Abilita l'API Pub/Sub per il progetto che riceverà le notifiche.
Assicurati di avere un argomento Pub/Sub esistente
Se non l'hai ancora fatto, crea un argomento Pub/Sub a cui vuoi inviare le notifiche. Questo passaggio non è necessario se prevedi di utilizzare Google Cloud CLI o Terraform per eseguire le istruzioni riportate in questa pagina.
Ottenere i ruoli richiesti
I requisiti del ruolo IAM variano a seconda che tu stia configurando la notifica o fornendo i dati degli eventi:
Se utilizzi Google Cloud CLI o Terraform per configurare una notifica, la tua identità ha bisogno solo delle autorizzazioni per aggiornare i metadati del bucket e visualizzare il topic Pub/Sub. Per ottenere tutte le autorizzazioni richieste, segui le istruzioni riportate in Ottenere i ruoli per visualizzare i metadati del bucket e l'argomento Pub/Sub.
Se il service agent Cloud Storage invia notifiche, deve disporre del ruolo Publisher Pub/Sub (
roles/pubsub.publisher) nell'argomento Pub/Sub. Una volta configurato questo ruolo per l'agente di servizio, quest'ultimo funge da "worker" in background per inviare eventi all'argomento.Per concedere al service agent le autorizzazioni necessarie per inviare notifiche di eventi all'argomento, segui le istruzioni riportate in Concedere ruoli al service agent del progetto.
Ottenere i ruoli per visualizzare i metadati del bucket e l'argomento Pub/Sub
Per ottenere le autorizzazioni necessarie per configurare e visualizzare le notifiche Pub/Sub per un bucket, chiedi all'amministratore di concederti i seguenti ruoli. Questi ruoli predefiniti contengono le autorizzazioni necessarie per configurare e visualizzare le notifiche Pub/Sub.
Ruolo Storage Admin (
roles/storage.admin) nel bucket per il quale vuoi configurare le notifiche Pub/SubRuolo Pub/Sub Admin (
roles/pubsub.admin) nel progetto in cui vuoi ricevere le notifiche Pub/Sub
Potresti riuscire a ottenere queste autorizzazioni con altri ruoli predefiniti o ruoli personalizzati.
Per istruzioni su come concedere ruoli sui bucket, consulta Impostare e gestire le policy IAM sui bucket. Per istruzioni sulla concessione dei ruoli nei progetti e sull'impostazione dei controlli dell'accesso per argomenti e abbonamenti, consulta Controllo dell'accesso.
Concedi il ruolo richiesto al service agent del tuo progetto
Questa sezione mostra come concedere le autorizzazioni richieste all'agente di servizio per inviare le notifiche.
Recupera l'indirizzo email del service agent associato al progetto che contiene il bucket Cloud Storage. L'indirizzo email dell'agente di servizio segue il formato:
service-PROJECT_NUMBER@gs-project-accounts.iam.gserviceaccount.comConcedi all'agente di servizio il ruolo Publisher Pub/Sub (
roles/pubsub.publisher) per l'argomento Pub/Sub pertinente. Consulta Controllo dell'accesso per istruzioni sulla concessione dei ruoli per gli argomenti.
Applicare una configurazione delle notifiche
I seguenti passaggi aggiungono una configurazione delle notifiche al bucket che invia notifiche per tutti gli eventi supportati.
Console
Non puoi gestire le notifiche Pub/Sub con la consoleGoogle Cloud . Utilizza gcloud CLI o una delle librerie client disponibili.
Riga di comando
Utilizza il comando gcloud storage buckets notifications create:
gcloud storage buckets notifications create gs://BUCKET_NAME --topic=TOPIC_NAME
Dove:
BUCKET_NAMEè il nome del bucket pertinente. Ad esempio,my-bucket.TOPIC_NAMEè l'argomento Pub/Sub a cui inviare le notifiche. Se specifichi un argomento che non esiste nel tuo progetto, il comando ne crea uno per te.
Per inviare notifiche per un sottoinsieme di eventi, includi il
flag --event-types.
Librerie client
C++
Per saperne di più, consulta la documentazione di riferimento dell'API Cloud Storage C++.
Per eseguire l'autenticazione in Cloud Storage, configura le Credenziali predefinite dell'applicazione. Per saperne di più, vedi Configura l'autenticazione per le librerie client.
C#
Per saperne di più, consulta la documentazione di riferimento dell'API Cloud Storage C#.
Per eseguire l'autenticazione in Cloud Storage, configura le Credenziali predefinite dell'applicazione. Per saperne di più, vedi Configura l'autenticazione per le librerie client.
Go
Per saperne di più, consulta la documentazione di riferimento dell'API Cloud Storage Go.
Per eseguire l'autenticazione in Cloud Storage, configura le Credenziali predefinite dell'applicazione. Per saperne di più, vedi Configura l'autenticazione per le librerie client.
Java
Per saperne di più, consulta la documentazione di riferimento dell'API Cloud Storage Java.
Per eseguire l'autenticazione in Cloud Storage, configura le Credenziali predefinite dell'applicazione. Per saperne di più, vedi Configura l'autenticazione per le librerie client.
Node.js
Per saperne di più, consulta la documentazione di riferimento dell'API Cloud Storage Node.js.
Per eseguire l'autenticazione in Cloud Storage, configura le Credenziali predefinite dell'applicazione. Per saperne di più, vedi Configura l'autenticazione per le librerie client.
PHP
Per saperne di più, consulta la documentazione di riferimento dell'API Cloud Storage PHP.
Per eseguire l'autenticazione in Cloud Storage, configura le Credenziali predefinite dell'applicazione. Per saperne di più, vedi Configura l'autenticazione per le librerie client.
Per creare una configurazione di notifica per un bucket utilizzando PHP, consulta la documentazione di riferimento della libreria client Google Cloud.Python
Per saperne di più, consulta la documentazione di riferimento dell'API Cloud Storage Python.
Per eseguire l'autenticazione in Cloud Storage, configura le Credenziali predefinite dell'applicazione. Per saperne di più, vedi Configura l'autenticazione per le librerie client.
Ruby
Per saperne di più, consulta la documentazione di riferimento dell'API Cloud Storage Ruby.
Per eseguire l'autenticazione in Cloud Storage, configura le Credenziali predefinite dell'applicazione. Per saperne di più, vedi Configura l'autenticazione per le librerie client.
Terraform
Puoi utilizzare una risorsa Terraform per aggiungere una configurazione di notifica a un bucket.