Questa pagina descrive come configurare il bucket per inviare notifiche relative alle modifiche degli oggetti a un argomento Pub/Sub. Per informazioni su come iscriverti 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.
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. Questi ruoli predefiniti contengono le autorizzazioni necessarie per configurare e visualizzare le notifiche Pub/Sub.
Ruolo Amministratore archiviazione (
roles/storage.admin
) per il bucket per cui vuoi configurare le notifiche Pub/SubRuolo Amministratore Pub/Sub (
roles/pubsub.admin
) per il progetto in per cui vuoi ricevere notifiche Pub/Sub
Potresti riuscire a ottenere queste autorizzazioni con altri ruoli predefiniti oppure ruoli personalizzati.
Per istruzioni sulla concessione, consulta Utilizzare IAM con i bucket ruoli sui bucket. Per istruzioni sulla concessione dei ruoli, consulta Controllo dell'accesso sui progetti e sull'impostazione dei controlli dell'accesso per argomenti e sottoscrizioni.
Assicurati che esista un argomento Pub/Sub
Se non lo 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.
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.
Ottieni l'indirizzo email dell'agente di servizio associato a che contiene il bucket Cloud Storage.
Concedi all'agente di servizio il 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 una configurazione di notifica al tuo bucket per invia notifiche per tutti gli eventi supportati.
Console
Non puoi gestire le notifiche Pub/Sub con il nella console Google Cloud. Utilizza gcloud CLI o uno dei tramite le librerie client.
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 di sincronizzare la directory di una VM con un bucket. 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 una per te.
Per inviare notifiche per un sottoinsieme di eventi, includi il comando
Flag --event-types
.
Librerie client
C++
Per ulteriori informazioni, consulta API Cloud Storage C++ documentazione di riferimento.
Per autenticarti a Cloud Storage, configura le credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi Configura l'autenticazione per un ambiente di sviluppo locale.
C#
Per saperne di più, consulta la documentazione di riferimento dell'API Cloud Storage C#.
Per eseguire l'autenticazione su Cloud Storage, configura Credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi Configura l'autenticazione per un ambiente di sviluppo locale.
Go
Per saperne di più, consulta la documentazione di riferimento dell'API Cloud Storage Go.
Per eseguire l'autenticazione su Cloud Storage, configura Credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Java
Per ulteriori informazioni, consulta API Cloud Storage Java documentazione di riferimento.
Per eseguire l'autenticazione su Cloud Storage, configura Credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Node.js
Per ulteriori informazioni, consulta API Cloud Storage Node.js documentazione di riferimento.
Per autenticarti a Cloud Storage, configura le credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
PHP
Per saperne di più, consulta la documentazione di riferimento dell'API Cloud Storage PHP.
Per eseguire l'autenticazione su Cloud Storage, configura Credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi Configura 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 Google Cloud.Python
Per saperne di più, consulta la documentazione di riferimento dell'API Cloud Storage Python.
Per eseguire l'autenticazione su Cloud Storage, configura Credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Ruby
Per ulteriori informazioni, consulta API Cloud Storage Ruby documentazione di riferimento.
Per eseguire l'autenticazione su Cloud Storage, configura Credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi Configura 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
Avere installato e inizializzato l'interfaccia a riga di comando gcloud, che consente di generare un token di accesso per l'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 associati all'argomento Pub/Sub che vuoi a cui inviare notifiche. Ad esempio,my-pet-project
.TOPIC_NAME
è Pub/Sub argomento a cui inviare notifiche. Ad esempio,my-topic
.
Per inviare notifiche per un sottoinsieme di eventi, includi il comando 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 che hai creato nel passaggio 2.BUCKET_NAME
è il nome del bucket per cui vuoi che vengano generate 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 tuo bucket, completa i seguenti passaggi:
Console
Non puoi gestire le notifiche Pub/Sub con la console Google Cloud. Utilizza Google Cloud CLI o una delle tramite le librerie client.
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 la cui alla configurazione di notifica da recuperare. Ad esempio,my-bucket
.NOTIFICATION_ID
è il numero ID del configurazione pertinente. Ad esempio,5
.
In caso di 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 saperne di più, consulta la documentazione di riferimento dell'API Cloud Storage C++.
Per eseguire l'autenticazione su Cloud Storage, configura Credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
C#
Per ulteriori informazioni, consulta API Cloud Storage C# documentazione di riferimento.
Per eseguire l'autenticazione su Cloud Storage, configura Credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Go
Per ulteriori informazioni, consulta API Cloud Storage Go documentazione di riferimento.
Per eseguire l'autenticazione su Cloud Storage, configura Credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi Configura l'autenticazione per un ambiente di sviluppo locale.
Java
Per ulteriori informazioni, consulta API Cloud Storage Java documentazione di riferimento.
Per eseguire l'autenticazione su Cloud Storage, configura Credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Node.js
Per ulteriori informazioni, consulta API Cloud Storage Node.js documentazione di riferimento.
Per autenticarti a Cloud Storage, configura le credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi Configura l'autenticazione per un ambiente di sviluppo locale.
PHP
Per saperne di più, consulta la documentazione di riferimento dell'API Cloud Storage PHP.
Per eseguire l'autenticazione su Cloud Storage, configura Credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Per ottenere una configurazione delle notifiche per un bucket utilizzando PHP, consulta la documentazione di riferimento della libreria client di Google Cloud.Python
Per saperne di più, consulta la documentazione di riferimento dell'API Cloud Storage Python.
Per autenticarti a Cloud Storage, configura le credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi Configura l'autenticazione per un ambiente di sviluppo locale.
Ruby
Per saperne di più, consulta la documentazione di riferimento dell'API Cloud Storage Ruby.
Per eseguire l'autenticazione su Cloud Storage, configura Credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi Configura l'autenticazione per un ambiente di sviluppo locale.
API REST
API JSON
Avere gcloud CLI installato e inizializzato, che consente generi un token di accesso per l'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 di notifica. 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.
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 il nella console Google Cloud. Utilizza gcloud CLI o uno dei tramite le librerie client.
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 whose notification configurations you want to list. Ad esempio,
my-bucket
.
Librerie client
C++
Per saperne di più, consulta la documentazione di riferimento dell'API Cloud Storage C++.
Per autenticarti a Cloud Storage, configura le credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
C#
Per ulteriori informazioni, consulta API Cloud Storage C# documentazione di riferimento.
Per autenticarti a Cloud Storage, configura le credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi Configura l'autenticazione per un ambiente di sviluppo locale.
Go
Per ulteriori informazioni, consulta API Cloud Storage Go documentazione di riferimento.
Per autenticarti a Cloud Storage, configura le credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi Configura l'autenticazione per un ambiente di sviluppo locale.
Java
Per ulteriori informazioni, consulta API Cloud Storage Java documentazione di riferimento.
Per eseguire l'autenticazione su Cloud Storage, configura Credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Node.js
Per ulteriori informazioni, consulta API Cloud Storage Node.js documentazione di riferimento.
Per eseguire l'autenticazione su Cloud Storage, configura Credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
PHP
Per saperne di più, consulta la documentazione di riferimento dell'API Cloud Storage PHP.
Per autenticarti a Cloud Storage, configura le credenziali predefinite dell'applicazione. Per ulteriori 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 Google Cloud.Python
Per saperne di più, consulta la documentazione di riferimento dell'API Cloud Storage Python.
Per autenticarti a Cloud Storage, configura le credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi Configura l'autenticazione per un ambiente di sviluppo locale.
Ruby
Per ulteriori informazioni, consulta API Cloud Storage Ruby documentazione di riferimento.
Per eseguire l'autenticazione su Cloud Storage, configura Credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi Configura l'autenticazione per un ambiente di sviluppo locale.
API REST
API JSON
Avere gcloud CLI installato e inizializzato, che consente generi un token di accesso per l'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 le cui configurazioni di notifica vuoi elencare. 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 il nella console Google Cloud. Utilizza gcloud CLI o uno dei tramite le librerie client.
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 la cui configurazione di notifica da eliminare. Ad esempio:my-bucket
.NOTIFICATION_ID
è il numero ID del alla configurazione che vuoi eliminare. Ad esempio,5
.
Se l'esito è positivo, la risposta sarà simile al seguente esempio:
Completed 1
Una volta inviati, potrebbero essere necessari fino a 30 secondi prima che tutte le notifiche vengano attivate dalla configurazione delle notifiche.
Librerie client
C++
Per saperne di più, consulta la documentazione di riferimento dell'API Cloud Storage C++.
Per eseguire l'autenticazione su Cloud Storage, configura Credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi Configura l'autenticazione per un ambiente di sviluppo locale.
C#
Per saperne di più, consulta la documentazione di riferimento dell'API Cloud Storage C#.
Per autenticarti a Cloud Storage, configura le credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi Configura l'autenticazione per un ambiente di sviluppo locale.
Go
Per saperne di più, consulta la documentazione di riferimento dell'API Cloud Storage Go.
Per eseguire l'autenticazione su Cloud Storage, configura Credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi Configura l'autenticazione per un ambiente di sviluppo locale.
Java
Per ulteriori informazioni, consulta API Cloud Storage Java documentazione di riferimento.
Per autenticarti a Cloud Storage, configura le credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi Configura l'autenticazione per un ambiente di sviluppo locale.
Node.js
Per saperne di più, consulta la documentazione di riferimento dell'API Cloud Storage Node.js.
Per autenticarti a Cloud Storage, configura le credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
PHP
Per ulteriori informazioni, consulta API Cloud Storage PHP documentazione di riferimento.
Per eseguire l'autenticazione su Cloud Storage, configura Credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi Configura l'autenticazione per un ambiente di sviluppo locale.
Per eliminare una configurazione delle notifiche per un bucket utilizzando PHP, consulta la documentazione di riferimento della libreria client di Google Cloud.Python
Per saperne di più, consulta la documentazione di riferimento dell'API Cloud Storage Python.
Per autenticarti a Cloud Storage, configura le credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Ruby
Per ulteriori informazioni, consulta API Cloud Storage Ruby documentazione di riferimento.
Per eseguire l'autenticazione su Cloud Storage, configura Credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi Configura l'autenticazione per un ambiente di sviluppo locale.
Terraform
Per rimuovere la configurazione di notifica che hai creato, esegui
terraform destroy
dalla cartella contenente il
file Terraform.
API REST
API JSON
Avere gcloud CLI installato e inizializzato, che consente generi un token di accesso per l'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 di ID della configurazione di notifica che vuoi eliminare. Ad esempio,5
.
Una volta inviati, potrebbero essere necessari fino a 30 secondi prima che tutte le notifiche vengano attivate dalla configurazione delle notifiche.
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 di archiviazione ideale in Cloud Storage.
Guarda un'app di esempio Python che esegue il polling per le notifiche su GitHub.
Usa le funzioni di Cloud Run per pubblicare eventi con un trigger di Cloud Storage.