Questa pagina descrive come configurare il bucket per l'invio di notifiche sulle modifiche degli oggetti a un argomento Pub/Sub. Per informazioni sulla sottoscrizione a un argomento Pub/Sub che riceve notifiche, consulta Scegliere un tipo di sottoscrizione.
Prima di iniziare
Prima di utilizzare questa funzionalità, è necessario:
Abilita l'API Pub/Sub per il progetto che riceverà le notifiche.
Avere l'autorizzazione
storage.buckets.update
estorage.buckets.get
nel bucket che vuoi monitorare. Per istruzioni su come eseguire questa operazione, consulta Utilizzo delle autorizzazioni IAM. Se sei il proprietario del progetto che contiene il bucket, molto probabilmente hai già l'autorizzazione necessaria.Devi disporre di autorizzazioni sufficienti per il progetto che riceverà le notifiche:
Se sei il proprietario del progetto che riceverà le notifiche, molto probabilmente hai l'autorizzazione necessaria.
Se prevedi di creare argomenti per la ricezione delle notifiche, devi disporre dell'autorizzazione
pubsub.topics.create
.Se prevedi di utilizzare argomenti nuovi o esistenti, devi avere l'autorizzazione
pubsub.topics.setIamPolicy
. Se crei un argomento, in genere haipubsub.topics.setIamPolicy
.Vedi Controllo dell'accesso Pub/Sub per le istruzioni su come ottenere queste autorizzazioni Pub/Sub.
-
Avere un argomento Pub/Sub esistente a cui vuoi inviare notifiche.
Recupera l'indirizzo email dell'agente di servizio associato al progetto che contiene il bucket Cloud Storage.
Utilizza l'indirizzo email che hai ottenuto nel passaggio precedente per concedere all'agente di servizio il ruolo IAM
pubsub.publisher
per l'argomento Pub/Sub pertinente.
Applicare una configurazione di notifica
I passaggi seguenti aggiungono una configurazione di notifica al bucket che invia notifiche per tutti gli eventi supportati.
Console
Non puoi gestire le notifiche Pub/Sub con la console Google Cloud. Usa 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 notifiche. Se specifichi un argomento che non esiste nel progetto, il comando ne crea uno.
Per inviare notifiche per un sottoinsieme di eventi, includi il flag --event-types
.
Librerie client
C++
Per maggiori informazioni, consulta la documentazione di riferimento dell'API C++ di Cloud Storage.
Per eseguire l'autenticazione in Cloud Storage, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
C#
Per maggiori informazioni, consulta la documentazione di riferimento dell'API C# di Cloud Storage.
Per eseguire l'autenticazione in Cloud Storage, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Go
Per maggiori informazioni, consulta la documentazione di riferimento dell'API Go di Cloud Storage.
Per eseguire l'autenticazione in Cloud Storage, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Java
Per maggiori informazioni, consulta la documentazione di riferimento dell'API Java di Cloud Storage.
Per eseguire l'autenticazione in Cloud Storage, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Node.js
Per maggiori informazioni, consulta la documentazione di riferimento dell'API Node.js di Cloud Storage.
Per eseguire l'autenticazione in Cloud Storage, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
PHP
Per maggiori informazioni, consulta la documentazione di riferimento dell'API PHP di Cloud Storage.
Per eseguire l'autenticazione in 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 maggiori informazioni, consulta la documentazione di riferimento dell'API Python di Cloud Storage.
Per eseguire l'autenticazione in Cloud Storage, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Ruby
Per maggiori informazioni, consulta la documentazione di riferimento dell'API Ruby di Cloud Storage.
Per eseguire l'autenticazione in 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 delle notifiche a un bucket.
API REST
API JSON
Assicurati che gcloud CLI sia installato e inizializzatoper 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 le 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 nel 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.
Ricevere una configurazione di notifica
Per ricevere una configurazione di notifica specifica associata al tuo bucket:
Console
Non puoi gestire le notifiche Pub/Sub con la console Google Cloud. Usa gcloud CLI o una delle librerie client disponibili.
Riga di comando
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 delle notifiche, ad esempiomy-bucket
.NOTIFICATION_ID
è il numero ID della configurazione pertinente. Ad esempio,5
.
In caso di esito positivo, la risposta sarà 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 maggiori informazioni, consulta la documentazione di riferimento dell'API C++ di Cloud Storage.
Per eseguire l'autenticazione in Cloud Storage, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
C#
Per maggiori informazioni, consulta la documentazione di riferimento dell'API C# di Cloud Storage.
Per eseguire l'autenticazione in Cloud Storage, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Go
Per maggiori informazioni, consulta la documentazione di riferimento dell'API Go di Cloud Storage.
Per eseguire l'autenticazione in Cloud Storage, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Java
Per maggiori informazioni, consulta la documentazione di riferimento dell'API Java di Cloud Storage.
Per eseguire l'autenticazione in Cloud Storage, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Node.js
Per maggiori informazioni, consulta la documentazione di riferimento dell'API Node.js di Cloud Storage.
Per eseguire l'autenticazione in Cloud Storage, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
PHP
Per maggiori informazioni, consulta la documentazione di riferimento dell'API PHP di Cloud Storage.
Per eseguire l'autenticazione in Cloud Storage, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Per ricevere la configurazione di una notifica per un bucket utilizzando PHP, consulta la documentazione di riferimento della libreria client di Google Cloud.Python
Per maggiori informazioni, consulta la documentazione di riferimento dell'API Python di Cloud Storage.
Per eseguire l'autenticazione in Cloud Storage, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Ruby
Per maggiori informazioni, consulta la documentazione di riferimento dell'API Ruby di Cloud Storage.
Per eseguire l'autenticazione in Cloud Storage, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
API REST
API JSON
Assicurati che gcloud CLI sia installato e inizializzatoper 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 della 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. Usa gcloud CLI o una delle librerie client disponibili.
Riga di comando
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 elencare le configurazioni di notifica. Ad esempio,
my-bucket
.
Librerie client
C++
Per maggiori informazioni, consulta la documentazione di riferimento dell'API C++ di Cloud Storage.
Per eseguire l'autenticazione in Cloud Storage, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
C#
Per maggiori informazioni, consulta la documentazione di riferimento dell'API C# di Cloud Storage.
Per eseguire l'autenticazione in Cloud Storage, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Go
Per maggiori informazioni, consulta la documentazione di riferimento dell'API Go di Cloud Storage.
Per eseguire l'autenticazione in Cloud Storage, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Java
Per maggiori informazioni, consulta la documentazione di riferimento dell'API Java di Cloud Storage.
Per eseguire l'autenticazione in Cloud Storage, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Node.js
Per maggiori informazioni, consulta la documentazione di riferimento dell'API Node.js di Cloud Storage.
Per eseguire l'autenticazione in Cloud Storage, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
PHP
Per maggiori informazioni, consulta la documentazione di riferimento dell'API PHP di Cloud Storage.
Per eseguire l'autenticazione in Cloud Storage, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Per elencare le configurazioni di notifica associate a un bucket utilizzando PHP, consulta la documentazione di riferimento della libreria client di Google Cloud.Python
Per maggiori informazioni, consulta la documentazione di riferimento dell'API Python di Cloud Storage.
Per eseguire l'autenticazione in Cloud Storage, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Ruby
Per maggiori informazioni, consulta la documentazione di riferimento dell'API Ruby di Cloud Storage.
Per eseguire l'autenticazione in Cloud Storage, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
API REST
API JSON
Assicurati che gcloud CLI sia installato e inizializzatoper 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 di notifica. 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 di notifica esistente dal bucket:
Console
Non puoi gestire le notifiche Pub/Sub con la console Google Cloud. Usa gcloud CLI o una delle librerie client disponibili.
Riga di comando
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 al seguente esempio:
Completed 1
Dopo l'invio, l'interruzione di tutte le notifiche attivate dalla configurazione delle notifiche potrebbe richiedere fino a 30 secondi.
Librerie client
C++
Per maggiori informazioni, consulta la documentazione di riferimento dell'API C++ di Cloud Storage.
Per eseguire l'autenticazione in Cloud Storage, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
C#
Per maggiori informazioni, consulta la documentazione di riferimento dell'API C# di Cloud Storage.
Per eseguire l'autenticazione in Cloud Storage, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Go
Per maggiori informazioni, consulta la documentazione di riferimento dell'API Go di Cloud Storage.
Per eseguire l'autenticazione in Cloud Storage, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Java
Per maggiori informazioni, consulta la documentazione di riferimento dell'API Java di Cloud Storage.
Per eseguire l'autenticazione in Cloud Storage, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Node.js
Per maggiori informazioni, consulta la documentazione di riferimento dell'API Node.js di Cloud Storage.
Per eseguire l'autenticazione in Cloud Storage, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
PHP
Per maggiori informazioni, consulta la documentazione di riferimento dell'API PHP di Cloud Storage.
Per eseguire l'autenticazione in Cloud Storage, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Per eliminare la configurazione di una notifica per un bucket utilizzando PHP, consulta la documentazione di riferimento sulla libreria client di Google Cloud.Python
Per maggiori informazioni, consulta la documentazione di riferimento dell'API Python di Cloud Storage.
Per eseguire l'autenticazione in Cloud Storage, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Ruby
Per maggiori informazioni, consulta la documentazione di riferimento dell'API Ruby di Cloud Storage.
Per eseguire l'autenticazione in 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
Assicurati che gcloud CLI sia installato e inizializzatoper 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 della notifica che vuoi eliminare. Ad esempio,5
.
Dopo l'invio, 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.
- Guarda un'app Python di esempio di polling per le notifiche su GitHub.
- Utilizza Cloud Functions per eseguire il caricamento di eventi con un trigger di Cloud Storage.