In questa pagina viene descritto come configurare il bucket per inviare notifiche sulle modifiche agli oggetti a un argomento Pub/Sub. Per informazioni sull'iscrizione a un argomento Pub/Sub che riceve le notifiche, consulta la pagina Scegliere un tipo di sottoscrizione.
Prima di iniziare
Prima di utilizzare questa funzionalità, ti consigliamo di:
Abilitare l'API Pub/Sub per il progetto che riceverà le notifiche.
Devi disporre dell'autorizzazione
storage.buckets.update
estorage.buckets.get
per il bucket che vuoi monitorare. Per istruzioni su come fare, consulta la sezione Utilizzo delle autorizzazioni IAM. Se sei il proprietario del progetto che contiene il bucket, molto probabilmente hai già l'autorizzazione necessaria.Disponi di autorizzazioni sufficienti sul progetto che riceverà le notifiche:
Se sei il proprietario del progetto che riceverà le notifiche, è molto probabile che tu disponga dell'autorizzazione necessaria.
Se prevedi di creare argomenti per ricevere notifiche, devi avere l'autorizzazione
pubsub.topics.create
.Sia che tu voglia utilizzare argomenti nuovi o esistenti, devi disporre dell'autorizzazione
pubsub.topics.setIamPolicy
. Se crei un argomento, in genere ne haipubsub.topics.setIamPolicy
.Per istruzioni su come ottenere queste autorizzazioni Pub/Sub, consulta la pagina Controllo dell'accesso Pub/Sub.
-
Hai un argomento Pub/Sub esistente a cui vuoi inviare notifiche.
Recupera l'indirizzo email dell'agente di servizio associato al progetto che contiene il tuo bucket Cloud Storage.
Utilizza l'indirizzo email ottenuto nel passaggio precedente per assegnare all'agente di servizio il ruolo IAM
pubsub.publisher
per l'argomento Pub/Sub desiderato.
Applicare una configurazione delle notifiche
I passaggi seguenti aggiungono una configurazione delle notifiche al tuo bucket che invia notifiche per tutti gli eventi supportati.
Console
Non puoi gestire le notifiche Pub/Sub con la console Google Cloud. Utilizza invece gcloud CLI o una delle librerie client disponibili.
Riga di comando
gcloud
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 progetto, il comando ne crea uno per te.
Per inviare notifiche per un sottoinsieme di eventi, includi il flag --event-types
.
gsutil
Utilizza il comando gsutil notification create
:
gsutil notification create -t TOPIC_NAME -f json gs://BUCKET_NAME
Dove:
TOPIC_NAME
è l'argomento Pub/Sub a cui inviare le notifiche. Se specifichi un argomento che non esiste nel progetto, il comando ne crea uno per te.BUCKET_NAME
è il nome del bucket pertinente. Ad esempio,my-bucket
.
Per inviare notifiche per un sottoinsieme di eventi, includi il flag -e
.
Librerie client
C++
Per ulteriori informazioni, consulta la documentazione di riferimento dell'API C++ di Cloud Storage.
Per eseguire l'autenticazione in Cloud Storage, configura le Credenziali predefinite dell'applicazione. Per saperne di più, 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 in Cloud Storage, configura le Credenziali predefinite dell'applicazione. Per saperne di più, 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 in Cloud Storage, configura le Credenziali predefinite dell'applicazione. Per saperne di più, 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 in Cloud Storage, configura le Credenziali predefinite dell'applicazione. Per saperne di più, 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 in Cloud Storage, configura le Credenziali predefinite dell'applicazione. Per saperne di più, 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 in Cloud Storage, configura le Credenziali predefinite dell'applicazione. Per saperne di più, 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 in Cloud Storage, configura le Credenziali predefinite dell'applicazione. Per saperne di più, 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 in Cloud Storage, configura le Credenziali predefinite dell'applicazione. Per saperne di più, 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
- Richiedi un token di accesso all'autorizzazione da Playground per OAuth 2.0. Configura l'area giochi in modo che utilizzi le tue credenziali OAuth. Per le istruzioni, consulta Autenticazione API.
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 le notifiche. Ad esempio,my-pet-project
.TOPIC_NAME
è l'argomento Pub/Sub a cui inviare le 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 richiesta diPOST notificationConfigs
:curl -X POST --data-binary @JSON_FILE_NAME \ -H "Authorization: Bearer OAUTH2_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.OAUTH2_TOKEN
è il token di accesso che hai generato nel passaggio 1.BUCKET_NAME
è il nome del bucket per il quale vuoi generare le notifiche. Ad esempio,my-bucket
.
API XML
Non puoi gestire le notifiche Pub/Sub con l'API XML.
Ricevi una configurazione delle notifiche
Per ottenere una configurazione di notifica specifica associata al tuo bucket:
Console
Non puoi gestire le notifiche Pub/Sub con la console Google Cloud. Utilizza invece gcloud CLI o una delle librerie client disponibili.
Riga di comando
gcloud
Utilizza 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 di notifica, ad esempiomy-bucket
.NOTIFICATION_ID
è il numero ID della configurazione desiderata. Ad esempio,5
.
In caso di esito positivo, la risposta sarà simile all'esempio seguente:
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
gsutil
Non puoi ricevere una configurazione di notifica singola con gsutil. Utilizza invece gcloud CLI.
Librerie client
C++
Per ulteriori informazioni, consulta la documentazione di riferimento dell'API C++ di Cloud Storage.
Per eseguire l'autenticazione in Cloud Storage, configura le Credenziali predefinite dell'applicazione. Per saperne di più, 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 in Cloud Storage, configura le Credenziali predefinite dell'applicazione. Per saperne di più, 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 in Cloud Storage, configura le Credenziali predefinite dell'applicazione. Per saperne di più, 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 in Cloud Storage, configura le Credenziali predefinite dell'applicazione. Per saperne di più, 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 in Cloud Storage, configura le Credenziali predefinite dell'applicazione. Per saperne di più, 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 in Cloud Storage, configura le Credenziali predefinite dell'applicazione. Per saperne di più, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Per ottenere 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 in Cloud Storage, configura le Credenziali predefinite dell'applicazione. Per saperne di più, 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 in Cloud Storage, configura le Credenziali predefinite dell'applicazione. Per saperne di più, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
API REST
API JSON
- Richiedi un token di accesso all'autorizzazione da Playground per OAuth 2.0. Configura l'area giochi in modo che utilizzi le tue credenziali OAuth. Per le istruzioni, consulta Autenticazione API.
Utilizza
cURL
per chiamare l'API JSON con una richiesta diGET notificationConfigs
:curl -X GET \ -H "Authorization: Bearer OAUTH2_TOKEN" \ "https://storage.googleapis.com/storage/v1/b/BUCKET_NAME/notificationConfigs/NOTIFICATION_ID"
Dove:
OAUTH2_TOKEN
è il token di accesso che hai generato nel passaggio 1.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 di notifica che vuoi recuperare. Ad esempio,5
.
API XML
Non puoi gestire le notifiche Pub/Sub con l'API XML.
Elenca le configurazioni delle notifiche per un bucket
Per elencare tutte le configurazioni di notifica associate a un determinato bucket:
Console
Non puoi gestire le notifiche Pub/Sub con la console Google Cloud. Utilizza invece gcloud CLI o una delle librerie client disponibili.
Riga di comando
gcloud
Utilizza 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 configurare le configurazioni di notifica. Ad esempio, my-bucket
.
gsutil
Utilizza il comando gsutil notification list
:
gsutil notification list gs://BUCKET_NAME
Dove BUCKET_NAME
è il nome del bucket pertinente. 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 in Cloud Storage, configura le Credenziali predefinite dell'applicazione. Per saperne di più, 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 in Cloud Storage, configura le Credenziali predefinite dell'applicazione. Per saperne di più, 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 in Cloud Storage, configura le Credenziali predefinite dell'applicazione. Per saperne di più, 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 in Cloud Storage, configura le Credenziali predefinite dell'applicazione. Per saperne di più, 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 in Cloud Storage, configura le Credenziali predefinite dell'applicazione. Per saperne di più, 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 in Cloud Storage, configura le Credenziali predefinite dell'applicazione. Per saperne di più, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Per elencare le configurazioni di notifica 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 in Cloud Storage, configura le Credenziali predefinite dell'applicazione. Per saperne di più, 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 in Cloud Storage, configura le Credenziali predefinite dell'applicazione. Per saperne di più, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
API REST
API JSON
- Richiedi un token di accesso all'autorizzazione da Playground per OAuth 2.0. Configura l'area giochi in modo che utilizzi le tue credenziali OAuth. Per le istruzioni, consulta Autenticazione API.
Utilizza
cURL
per chiamare l'API JSON con una richiesta diGET notificationConfigs
:curl -X GET \ -H "Authorization: Bearer OAUTH2_TOKEN" \ "https://storage.googleapis.com/storage/v1/b/BUCKET_NAME/notificationConfigs"
Dove:
OAUTH2_TOKEN
è il token di accesso che hai generato nel passaggio 1.BUCKET_NAME
è il nome del bucket di cui vuoi elencare le configurazioni di notifica. Ad esempio,my-bucket
.
API XML
Non puoi gestire le notifiche Pub/Sub con l'API XML.
Rimuovere una configurazione delle notifiche
Per rimuovere una configurazione di notifica esistente dal bucket:
Console
Non puoi gestire le notifiche Pub/Sub con la console Google Cloud. Utilizza invece gcloud CLI o una delle librerie client disponibili.
Riga di comando
gcloud
Utilizza 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
.
In caso di esito positivo, la risposta sarà simile all'esempio seguente:
Completed 1
Una volta inviate, l'interruzione di tutte le notifiche attivate dalla configurazione delle notifiche potrebbe richiedere fino a 30 secondi.
gsutil
Utilizza il comando gsutil notification delete
:
gsutil notification delete projects/_/buckets/BUCKET_NAME/notificationConfigs/NOTIFICATION_ID
Dove:
BUCKET_NAME
è il nome del bucket pertinente. Ad esempio,my-bucket
.NOTIFICATION_ID
è il numero ID della configurazione che vuoi eliminare. Ad esempio,5
.
Una volta inviate, l'interruzione di tutte le notifiche attivate dalla configurazione delle notifiche 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 in Cloud Storage, configura le Credenziali predefinite dell'applicazione. Per saperne di più, 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 in Cloud Storage, configura le Credenziali predefinite dell'applicazione. Per saperne di più, 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 in Cloud Storage, configura le Credenziali predefinite dell'applicazione. Per saperne di più, 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 in Cloud Storage, configura le Credenziali predefinite dell'applicazione. Per saperne di più, 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 in Cloud Storage, configura le Credenziali predefinite dell'applicazione. Per saperne di più, 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 in Cloud Storage, configura le Credenziali predefinite dell'applicazione. Per saperne di più, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Per eliminare la configurazione delle notifiche di un bucket tramite 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 in Cloud Storage, configura le Credenziali predefinite dell'applicazione. Per saperne di più, 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 in Cloud Storage, configura le Credenziali predefinite dell'applicazione. Per saperne di più, 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
- Richiedi un token di accesso all'autorizzazione da Playground per OAuth 2.0. Configura l'area giochi in modo che utilizzi le tue credenziali OAuth. Per le istruzioni, consulta Autenticazione API.
Utilizza
cURL
per chiamare l'API JSON con una richiesta diDELETE notificationConfigs
:curl -X DELETE \ -H "Authorization: Bearer OAUTH2_TOKEN" \ "https://storage.googleapis.com/storage/v1/b/BUCKET_NAME/notificationConfigs/NOTIFICATION_ID"
Dove:
OAUTH2_TOKEN
è il token di accesso che hai generato nel passaggio 1.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 delle notifiche 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.
- Vedi un'app di esempio Python per il polling delle notifiche su GitHub.
- Utilizza Cloud Functions per caricare eventi con un trigger di Cloud Storage.