Questa pagina descrive come configurare il bucket per l'invio di notifiche relative alle modifiche degli oggetti a un argomento Pub/Sub. Per informazioni sulla sottoscrizione a un argomento Pub/Sub che riceve notifiche, vedi Scegliere un tipo di sottoscrizione.
Prima di iniziare
Prima di utilizzare questa funzionalità, completa le seguenti istruzioni.
Abilita l'API Pub/Sub
Abilitare l'API Pub/Sub per il progetto che riceverà le notifiche.
Ottieni i ruoli richiesti
Per ottenere le autorizzazioni necessarie per configurare e visualizzare le notifiche Pub/Sub per un bucket, chiedi all'amministratore di concederti i seguenti ruoli:
Ruolo Amministratore Storage (
roles/storage.admin
) nel bucket per il quale vuoi configurare le notifiche Pub/SubAmministratore Pub/Sub (
roles/pubsub.admin
) nel progetto in cui vuoi ricevere notifiche Pub/Sub
Questi ruoli predefiniti contengono le autorizzazioni necessarie per configurare e visualizzare le notifiche Pub/Sub. Per visualizzare con esattezza le autorizzazioni necessarie, espandi la sezione Autorizzazioni obbligatorie:
Autorizzazioni obbligatorie
storage.buckets.get
storage.buckets.update
pubsub.topics.create
pubsub.topics.setIamPolicy
Potresti riuscire a ottenere queste autorizzazioni con altri ruoli predefiniti o ruoli personalizzati.
Consulta Utilizzare IAM con i bucket per le istruzioni sulla concessione dei ruoli nei bucket. Consulta Controllo dell'accesso per istruzioni sulla concessione dei ruoli nei progetti e sull'impostazione dei controlli dell'accesso per argomenti e sottoscrizioni.
Assicurati che esista un argomento Pub/Sub
Se non lo hai già fatto, crea un argomento Pub/Sub a cui inviare notifiche. Questo passaggio non è necessario se prevedi di utilizzare Google Cloud CLI o Terraform per eseguire le istruzioni in questa pagina.
Concedi il ruolo richiesto all'agente di servizio del progetto
I passaggi seguenti non sono necessari se prevedi di utilizzare Google Cloud CLI o Terraform per eseguire le istruzioni in questa pagina.
Recupera l'indirizzo email dell'agente di servizio associato al progetto che contiene il bucket Cloud Storage.
Concedi all'agente di servizio il ruolo Publisher Pub/Sub (
roles/pubsub.publisher
) per l'argomento Pub/Sub pertinente. Per istruzioni sulla concessione dei ruoli per gli argomenti, consulta Controllo dell'accesso.
Applicare una configurazione di notifica
I passaggi seguenti aggiungono al tuo bucket una configurazione delle notifiche che invia notifiche per tutti gli eventi supportati.
Console
Non puoi gestire le notifiche Pub/Sub con la console Google Cloud. Usa invece gcloud CLI o una delle librerie client disponibili.
Riga di comando
Usa 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 notifiche. Se specifichi un argomento che non esiste nel tuo progetto, il comando ne crea uno automaticamente.
Per inviare notifiche per un sottoinsieme di eventi, includi il
flag --event-types
.
Librerie client
C++
Per ulteriori informazioni, consulta la documentazione di riferimento dell'API C++ di Cloud Storage.
Per eseguire l'autenticazione su Cloud Storage, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
C#
Per ulteriori informazioni, consulta la documentazione di riferimento dell'API C# di Cloud Storage.
Per eseguire l'autenticazione su Cloud Storage, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Go
Per ulteriori informazioni, consulta la documentazione di riferimento dell'API Go di Cloud Storage.
Per eseguire l'autenticazione su Cloud Storage, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Java
Per ulteriori informazioni, consulta la documentazione di riferimento dell'API Java di Cloud Storage.
Per eseguire l'autenticazione su Cloud Storage, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Node.js
Per ulteriori informazioni, consulta la documentazione di riferimento dell'API Node.js di Cloud Storage.
Per eseguire l'autenticazione su Cloud Storage, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
PHP
Per ulteriori informazioni, consulta la documentazione di riferimento dell'API PHP di Cloud Storage.
Per eseguire l'autenticazione su Cloud Storage, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Per creare una configurazione di notifica per un bucket utilizzando PHP, consulta la documentazione di riferimento della libreria client di Google Cloud.Python
Per ulteriori informazioni, consulta la documentazione di riferimento dell'API Python di Cloud Storage.
Per eseguire l'autenticazione su Cloud Storage, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Ruby
Per ulteriori informazioni, consulta la documentazione di riferimento dell'API Ruby di Cloud Storage.
Per eseguire l'autenticazione su Cloud Storage, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Terraform
Puoi utilizzare una risorsa Terraform per aggiungere una configurazione di notifica a un bucket.
API REST
API JSON
Installa e inizializzatogcloud CLI per generare un token di accesso per l'intestazione
Authorization
.In alternativa, puoi creare un token di accesso utilizzando OAuth 2.0 Playground e includerlo nell'intestazione
Authorization
.Crea un file JSON contenente le seguenti informazioni:
{ "topic": "projects/PROJECT_ID/topics/TOPIC_NAME", "payload_format": "JSON_API_V1" }
Dove:
PROJECT_ID
è l'ID del progetto associato all'argomento Pub/Sub a cui vuoi inviare notifiche. Ad esempio,my-pet-project
.TOPIC_NAME
è l'argomento Pub/Sub a cui inviare notifiche. Ad esempio,my-topic
.
Per inviare notifiche per un sottoinsieme di eventi, includi il campo
event_types
nel corpo della richiesta JSON.Utilizza
cURL
per chiamare l'API JSON con una richiestaPOST notificationConfigs
:curl -X POST --data-binary @JSON_FILE_NAME \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ "https://storage.googleapis.com/storage/v1/b/BUCKET_NAME/notificationConfigs"
Dove:
JSON_FILE_NAME
è il percorso del file creato al passaggio 2.BUCKET_NAME
è il nome del bucket per cui vuoi generare le notifiche. Ad esempio,my-bucket
.
API XML
Non puoi gestire le notifiche Pub/Sub con l'API XML.
Ottieni una configurazione delle notifiche
Per ottenere una configurazione di notifica specifica associata al bucket, completa questi passaggi:
Console
Non puoi gestire le notifiche Pub/Sub con la console Google Cloud. Utilizza Google Cloud CLI o una delle librerie client disponibili.
Riga di comando
Usa il comando gcloud storage buckets notifications describe
:
gcloud storage buckets notifications describe projects/_/buckets/BUCKET_NAME/notificationConfigs/NOTIFICATION_ID
Dove:
BUCKET_NAME
è il nome del bucket di cui vuoi recuperare la configurazione delle notifiche, ad esempiomy-bucket
.NOTIFICATION_ID
è il numero ID della configurazione pertinente. Ad esempio,5
.
Se l'esito è positivo, la risposta è simile al seguente esempio:
etag: '132' id: '132' kind: storage#notification payload_format: JSON_API_V1 selfLink: https://www.googleapis.com/storage/v1/b/my-bucket/notificationConfigs/132 topic: //pubsub.googleapis.com/projects/my-project/topics/my-bucket
Librerie client
C++
Per ulteriori informazioni, consulta la documentazione di riferimento dell'API C++ di Cloud Storage.
Per eseguire l'autenticazione su Cloud Storage, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
C#
Per ulteriori informazioni, consulta la documentazione di riferimento dell'API C# di Cloud Storage.
Per eseguire l'autenticazione su Cloud Storage, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Go
Per ulteriori informazioni, consulta la documentazione di riferimento dell'API Go di Cloud Storage.
Per eseguire l'autenticazione su Cloud Storage, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Java
Per ulteriori informazioni, consulta la documentazione di riferimento dell'API Java di Cloud Storage.
Per eseguire l'autenticazione su Cloud Storage, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Node.js
Per ulteriori informazioni, consulta la documentazione di riferimento dell'API Node.js di Cloud Storage.
Per eseguire l'autenticazione su Cloud Storage, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
PHP
Per ulteriori informazioni, consulta la documentazione di riferimento dell'API PHP di Cloud Storage.
Per eseguire l'autenticazione su Cloud Storage, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Per ricevere una configurazione delle notifiche per un bucket che utilizza PHP, consulta la documentazione di riferimento della libreria client di Google Cloud.Python
Per ulteriori informazioni, consulta la documentazione di riferimento dell'API Python di Cloud Storage.
Per eseguire l'autenticazione su Cloud Storage, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Ruby
Per ulteriori informazioni, consulta la documentazione di riferimento dell'API Ruby di Cloud Storage.
Per eseguire l'autenticazione su Cloud Storage, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
API REST
API JSON
Installa e inizializzatogcloud CLI per generare un token di accesso per l'intestazione
Authorization
.In alternativa, puoi creare un token di accesso utilizzando OAuth 2.0 Playground e includerlo nell'intestazione
Authorization
.Utilizza
cURL
per chiamare l'API JSON con una richiestaGET notificationConfigs
:curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://storage.googleapis.com/storage/v1/b/BUCKET_NAME/notificationConfigs/NOTIFICATION_ID"
Dove:
BUCKET_NAME
è il nome del bucket di cui vuoi recuperare la configurazione delle notifiche. Ad esempio,my-bucket
.NOTIFICATION_ID
è il numero ID della configurazione delle notifiche che vuoi recuperare. Ad esempio,5
.
API XML
Non puoi gestire le notifiche Pub/Sub con l'API XML.
Elenco delle configurazioni di notifica per un bucket
Per elencare tutte le configurazioni delle notifiche associate a un determinato bucket:
Console
Non puoi gestire le notifiche Pub/Sub con la console Google Cloud. Usa invece gcloud CLI o una delle librerie client disponibili.
Riga di comando
Usa il comando gcloud storage buckets notifications list
:
gcloud storage buckets notifications list gs://BUCKET_NAME
dove BUCKET_NAME
è il nome del bucket
di cui vuoi elencare le configurazioni delle notifiche. Ad esempio,
my-bucket
.
Librerie client
C++
Per ulteriori informazioni, consulta la documentazione di riferimento dell'API C++ di Cloud Storage.
Per eseguire l'autenticazione su Cloud Storage, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
C#
Per ulteriori informazioni, consulta la documentazione di riferimento dell'API C# di Cloud Storage.
Per eseguire l'autenticazione su Cloud Storage, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Go
Per ulteriori informazioni, consulta la documentazione di riferimento dell'API Go di Cloud Storage.
Per eseguire l'autenticazione su Cloud Storage, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Java
Per ulteriori informazioni, consulta la documentazione di riferimento dell'API Java di Cloud Storage.
Per eseguire l'autenticazione su Cloud Storage, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Node.js
Per ulteriori informazioni, consulta la documentazione di riferimento dell'API Node.js di Cloud Storage.
Per eseguire l'autenticazione su Cloud Storage, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
PHP
Per ulteriori informazioni, consulta la documentazione di riferimento dell'API PHP di Cloud Storage.
Per eseguire l'autenticazione su Cloud Storage, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Per elencare le configurazioni delle notifiche associate a un bucket che utilizza PHP, consulta la documentazione di riferimento della libreria client di Google Cloud.Python
Per ulteriori informazioni, consulta la documentazione di riferimento dell'API Python di Cloud Storage.
Per eseguire l'autenticazione su Cloud Storage, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Ruby
Per ulteriori informazioni, consulta la documentazione di riferimento dell'API Ruby di Cloud Storage.
Per eseguire l'autenticazione su Cloud Storage, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
API REST
API JSON
Installa e inizializzatogcloud CLI per generare un token di accesso per l'intestazione
Authorization
.In alternativa, puoi creare un token di accesso utilizzando OAuth 2.0 Playground e includerlo nell'intestazione
Authorization
.Utilizza
cURL
per chiamare l'API JSON con una richiestaGET notificationConfigs
:curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://storage.googleapis.com/storage/v1/b/BUCKET_NAME/notificationConfigs"
dove
BUCKET_NAME
è il nome del bucket di cui vuoi elencare le configurazioni delle notifiche. Ad esempio,my-bucket
.
API XML
Non puoi gestire le notifiche Pub/Sub con l'API XML.
Rimuovere una configurazione di notifica
Per rimuovere una configurazione esistente delle notifiche dal bucket:
Console
Non puoi gestire le notifiche Pub/Sub con la console Google Cloud. Usa invece gcloud CLI o una delle librerie client disponibili.
Riga di comando
Usa il comando gcloud storage buckets notifications delete
:
gcloud storage buckets notifications delete projects/_/buckets/BUCKET_NAME/notificationConfigs/NOTIFICATION_ID
Dove:
BUCKET_NAME
è il nome del bucket di cui vuoi eliminare la configurazione delle notifiche. Ad esempio,my-bucket
.NOTIFICATION_ID
è il numero ID della configurazione che vuoi eliminare. Ad esempio,5
.
Se l'esito è positivo, la risposta è simile al seguente esempio:
Completed 1
Una volta inviate, l'interruzione di tutte le notifiche attivate dalla configurazione potrebbe richiedere fino a 30 secondi.
Librerie client
C++
Per ulteriori informazioni, consulta la documentazione di riferimento dell'API C++ di Cloud Storage.
Per eseguire l'autenticazione su Cloud Storage, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
C#
Per ulteriori informazioni, consulta la documentazione di riferimento dell'API C# di Cloud Storage.
Per eseguire l'autenticazione su Cloud Storage, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Go
Per ulteriori informazioni, consulta la documentazione di riferimento dell'API Go di Cloud Storage.
Per eseguire l'autenticazione su Cloud Storage, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Java
Per ulteriori informazioni, consulta la documentazione di riferimento dell'API Java di Cloud Storage.
Per eseguire l'autenticazione su Cloud Storage, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Node.js
Per ulteriori informazioni, consulta la documentazione di riferimento dell'API Node.js di Cloud Storage.
Per eseguire l'autenticazione su Cloud Storage, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
PHP
Per ulteriori informazioni, consulta la documentazione di riferimento dell'API PHP di Cloud Storage.
Per eseguire l'autenticazione su Cloud Storage, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Per eliminare una configurazione delle notifiche per un bucket che utilizza PHP, consulta la documentazione di riferimento della libreria client di Google Cloud.Python
Per ulteriori informazioni, consulta la documentazione di riferimento dell'API Python di Cloud Storage.
Per eseguire l'autenticazione su Cloud Storage, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Ruby
Per ulteriori informazioni, consulta la documentazione di riferimento dell'API Ruby di Cloud Storage.
Per eseguire l'autenticazione su Cloud Storage, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Terraform
Per rimuovere la configurazione delle notifiche che hai creato, esegui terraform destroy
dalla cartella contenente il file Terraform.
API REST
API JSON
Installa e inizializzatogcloud CLI per generare un token di accesso per l'intestazione
Authorization
.In alternativa, puoi creare un token di accesso utilizzando OAuth 2.0 Playground e includerlo nell'intestazione
Authorization
.Utilizza
cURL
per chiamare l'API JSON con una richiestaDELETE notificationConfigs
:curl -X DELETE \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://storage.googleapis.com/storage/v1/b/BUCKET_NAME/notificationConfigs/NOTIFICATION_ID"
Dove:
BUCKET_NAME
è il nome del bucket di cui vuoi eliminare la configurazione delle notifiche. Ad esempio,my-bucket
.NOTIFICATION_ID
è il numero ID della configurazione di notifica che vuoi eliminare. Ad esempio,5
.
Una volta inviate, l'interruzione di tutte le notifiche attivate dalla configurazione potrebbe richiedere fino a 30 secondi.
API XML
Non puoi gestire le notifiche Pub/Sub con l'API XML.
Passaggi successivi
- Scopri di più sulle notifiche Pub/Sub per Cloud Storage.
- Crea una sottoscrizione in Pub/Sub per visualizzare le notifiche inviate da Cloud Storage.
- Guarda un'app di esempio Python che esegue il polling per le notifiche su GitHub.
- Usa Cloud Functions per pubblicare eventi con un trigger di Cloud Storage.