Cette page explique comment configurer votre bucket pour qu'il envoie des notifications de modification d'objet à un sujet Pub/Sub. Pour en savoir plus sur l'abonnement à un sujet Pub/Sub recevant des notifications, consultez la section Choisir un type d'abonnement.
Avant de commencer
Avant d'utiliser cette fonctionnalité, vous devez :
Activer l'API Pub/Sub pour le projet qui recevra les notifications.
Disposer des autorisations
storage.buckets.update
etstorage.buckets.get
sur le bucket que vous souhaitez surveiller. Pour savoir comment procéder, consultez la page Utiliser les autorisations IAM. Si vous êtes propriétaire du projet contenant le bucket, vous disposez probablement déjà de l'autorisation nécessaire.Disposer des autorisations suffisantes sur le projet qui recevra les notifications :
Si vous êtes propriétaire du projet qui recevra les notifications, vous disposez probablement des autorisations nécessaires.
Si vous prévoyez de créer des sujets pour recevoir des notifications, vous devez disposer de l'autorisation
pubsub.topics.create
.Si vous prévoyez d'utiliser des sujets nouveaux ou existants, vous devez disposer de l'autorisation
pubsub.topics.setIamPolicy
. Si vous créez un sujet, vous disposez généralement de l'autorisationpubsub.topics.setIamPolicy
sur celui-ci.Pour savoir comment obtenir ces autorisations Pub/Sub, consultez la section Contrôle des accès Pub/Sub.
-
Disposez d'un sujet Pub/Sub existant auquel vous souhaitez envoyer des notifications.
Obtenir l'adresse e-mail de l'agent de service associé au projet contenant votre bucket Cloud Storage.
Utiliser l'adresse e-mail obtenue à l'étape précédente pour octroyer à l'agent de service le rôle IAM
pubsub.publisher
pour le sujet Pub/Sub concerné.
Appliquer une configuration de notification
Les étapes suivantes permettent d'ajouter une configuration de notification à votre bucket qui envoie les notifications pour tous les événements compatibles.
Console
Vous ne pouvez pas gérer les notifications Pub/Sub avec la console Google Cloud. Utilisez plutôt gcloud CLI ou l’une des bibliothèques clientes disponibles.
Ligne de commande
Exécutez la commande gcloud storage buckets notifications create
:
gcloud storage buckets notifications create gs://BUCKET_NAME --topic=TOPIC_NAME
Où :
BUCKET_NAME
correspond au nom du bucket concerné. Par exemple,my-bucket
.TOPIC_NAME
est le sujet Pub/Sub auquel envoyer des notifications. Si vous spécifiez un sujet qui n'existe pas dans votre projet, la commande le crée pour vous.
Pour envoyer des notifications pour un sous-ensemble d'événements, ajoutez l'option --event-types
.
Bibliothèques clientes
C++
Pour en savoir plus, consultez la documentation de référence de l'API Cloud Storage en langage C++.
Pour vous authentifier auprès de Cloud Storage, configurez le service Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
C#
Pour en savoir plus, consultez la documentation de référence de l'API Cloud Storage en langage C#.
Pour vous authentifier auprès de Cloud Storage, configurez le service Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Go
Pour en savoir plus, consultez la documentation de référence de l'API Cloud Storage en langage Go.
Pour vous authentifier auprès de Cloud Storage, configurez le service Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Java
Pour en savoir plus, consultez la documentation de référence de l'API Cloud Storage en langage Java.
Pour vous authentifier auprès de Cloud Storage, configurez le service Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Node.js
Pour en savoir plus, consultez la documentation de référence de l'API Cloud Storage en langage Node.js.
Pour vous authentifier auprès de Cloud Storage, configurez le service Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
PHP
Pour en savoir plus, consultez la documentation de référence de l'API Cloud Storage en langage PHP.
Pour vous authentifier auprès de Cloud Storage, configurez le service Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Pour créer une configuration de notification pour un bucket à l'aide de PHP, consultez la documentation de référence de la bibliothèque cliente Google Cloud.Python
Pour en savoir plus, consultez la documentation de référence de l'API Cloud Storage en langage Python.
Pour vous authentifier auprès de Cloud Storage, configurez le service Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Ruby
Pour en savoir plus, consultez la documentation de référence de l'API Cloud Storage en langage Ruby.
Pour vous authentifier auprès de Cloud Storage, configurez le service Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Terraform
Vous pouvez utiliser une ressource Terraform pour ajouter une configuration de notification à un bucket.
API REST
API JSON
- Obtenez un jeton d'autorisation d'accès sur la page OAuth 2.0 Playground. Configurez Playground pour utiliser vos propres identifiants OAuth. Pour obtenir des instructions, consultez la page Authentification des API.
Créez un fichier JSON contenant les informations suivantes :
{ "topic": "projects/PROJECT_ID/topics/TOPIC_NAME", "payload_format": "JSON_API_V1" }
Où :
PROJECT_ID
correspond à l'ID du projet associé au sujet Pub/Sub auquel vous souhaitez envoyer des notifications. Par exemple,my-pet-project
.TOPIC_NAME
est le sujet Pub/Sub auquel envoyer des notifications. Par exemple,my-topic
.
Pour envoyer des notifications pour un sous-ensemble d'événements, ajoutez le champ
event_types
dans le corps de votre requête JSON.Exécutez
cURL
pour appeler l'API JSON avec une requêtePOST 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"
Où :
JSON_FILE_NAME
correspond au chemin d'accès au fichier que vous avez créé à l'étape 2.OAUTH2_TOKEN
correspond au jeton d'accès que vous avez généré à l'étape 1.BUCKET_NAME
correspond au nom du bucket pour lequel vous souhaitez générer des notifications. Par exemple,my-bucket
.
API XML
Vous ne pouvez pas gérer les notifications Pub/Sub avec l'API XML.
Obtenir une configuration de notification
Pour obtenir une configuration de notification spécifique associée à votre bucket, procédez comme suit :
Console
Vous ne pouvez pas gérer les notifications Pub/Sub avec la console Google Cloud. Utilisez plutôt gcloud CLI ou l’une des bibliothèques clientes disponibles.
Ligne de commande
Exécutez la commande gcloud storage buckets notifications describe
:
gcloud storage buckets notifications describe projects/_/buckets/BUCKET_NAME/notificationConfigs/NOTIFICATION_ID
Où :
BUCKET_NAME
est le nom du bucket dont vous souhaitez récupérer la configuration de notification. Par exemple,my-bucket
.NOTIFICATION_ID
est le numéro d'identification de la configuration pertinente. Par exemple,5
.
Si l'opération réussit, la réponse se présente comme suit :
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
Bibliothèques clientes
C++
Pour en savoir plus, consultez la documentation de référence de l'API Cloud Storage en langage C++.
Pour vous authentifier auprès de Cloud Storage, configurez le service Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
C#
Pour en savoir plus, consultez la documentation de référence de l'API Cloud Storage en langage C#.
Pour vous authentifier auprès de Cloud Storage, configurez le service Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Go
Pour en savoir plus, consultez la documentation de référence de l'API Cloud Storage en langage Go.
Pour vous authentifier auprès de Cloud Storage, configurez le service Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Java
Pour en savoir plus, consultez la documentation de référence de l'API Cloud Storage en langage Java.
Pour vous authentifier auprès de Cloud Storage, configurez le service Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Node.js
Pour en savoir plus, consultez la documentation de référence de l'API Cloud Storage en langage Node.js.
Pour vous authentifier auprès de Cloud Storage, configurez le service Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
PHP
Pour en savoir plus, consultez la documentation de référence de l'API Cloud Storage en langage PHP.
Pour vous authentifier auprès de Cloud Storage, configurez le service Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Pour obtenir une configuration de notification pour un bucket à l'aide de PHP, consultez la documentation de référence de la bibliothèque cliente Google Cloud.Python
Pour en savoir plus, consultez la documentation de référence de l'API Cloud Storage en langage Python.
Pour vous authentifier auprès de Cloud Storage, configurez le service Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Ruby
Pour en savoir plus, consultez la documentation de référence de l'API Cloud Storage en langage Ruby.
Pour vous authentifier auprès de Cloud Storage, configurez le service Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
API REST
API JSON
- Obtenez un jeton d'autorisation d'accès sur la page OAuth 2.0 Playground. Configurez Playground pour utiliser vos propres identifiants OAuth. Pour obtenir des instructions, consultez la page Authentification des API.
Exécutez
cURL
pour appeler l'API JSON avec une requêteGET notificationConfigs
:curl -X GET \ -H "Authorization: Bearer OAUTH2_TOKEN" \ "https://storage.googleapis.com/storage/v1/b/BUCKET_NAME/notificationConfigs/NOTIFICATION_ID"
Où :
OAUTH2_TOKEN
correspond au jeton d'accès que vous avez généré à l'étape 1.BUCKET_NAME
est le nom du bucket dont vous souhaitez récupérer la configuration de notification. Exemple :my-bucket
.NOTIFICATION_ID
est le numéro d'identification de la configuration de notification que vous souhaitez récupérer. Par exemple,5
.
API XML
Vous ne pouvez pas gérer les notifications Pub/Sub avec l'API XML.
Répertorier les configurations de notification pour un bucket
Pour répertorier toutes les configurations de notification associées à un bucket particulier :
Console
Vous ne pouvez pas gérer les notifications Pub/Sub avec la console Google Cloud. Utilisez plutôt gcloud CLI ou l’une des bibliothèques clientes disponibles.
Ligne de commande
Exécutez la commande gcloud storage buckets notifications list
:
gcloud storage buckets notifications list gs://BUCKET_NAME
Où BUCKET_NAME
est le nom du bucket dont vous souhaitez lister les configurations de notification. Exemple : my-bucket
.
Bibliothèques clientes
C++
Pour en savoir plus, consultez la documentation de référence de l'API Cloud Storage en langage C++.
Pour vous authentifier auprès de Cloud Storage, configurez le service Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
C#
Pour en savoir plus, consultez la documentation de référence de l'API Cloud Storage en langage C#.
Pour vous authentifier auprès de Cloud Storage, configurez le service Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Go
Pour en savoir plus, consultez la documentation de référence de l'API Cloud Storage en langage Go.
Pour vous authentifier auprès de Cloud Storage, configurez le service Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Java
Pour en savoir plus, consultez la documentation de référence de l'API Cloud Storage en langage Java.
Pour vous authentifier auprès de Cloud Storage, configurez le service Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Node.js
Pour en savoir plus, consultez la documentation de référence de l'API Cloud Storage en langage Node.js.
Pour vous authentifier auprès de Cloud Storage, configurez le service Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
PHP
Pour en savoir plus, consultez la documentation de référence de l'API Cloud Storage en langage PHP.
Pour vous authentifier auprès de Cloud Storage, configurez le service Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Pour regrouper les configurations de notification associées à un bucket à l'aide de PHP, consultez la documentation de référence de la bibliothèque cliente Google Cloud.Python
Pour en savoir plus, consultez la documentation de référence de l'API Cloud Storage en langage Python.
Pour vous authentifier auprès de Cloud Storage, configurez le service Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Ruby
Pour en savoir plus, consultez la documentation de référence de l'API Cloud Storage en langage Ruby.
Pour vous authentifier auprès de Cloud Storage, configurez le service Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
API REST
API JSON
- Obtenez un jeton d'autorisation d'accès sur la page OAuth 2.0 Playground. Configurez Playground pour utiliser vos propres identifiants OAuth. Pour obtenir des instructions, consultez la page Authentification des API.
Exécutez
cURL
pour appeler l'API JSON avec une requêteGET notificationConfigs
:curl -X GET \ -H "Authorization: Bearer OAUTH2_TOKEN" \ "https://storage.googleapis.com/storage/v1/b/BUCKET_NAME/notificationConfigs"
Où :
OAUTH2_TOKEN
correspond au jeton d'accès que vous avez généré à l'étape 1.BUCKET_NAME
correspond au nom du bucket dont vous souhaitez lister les configurations de notification. Exemple :my-bucket
.
API XML
Vous ne pouvez pas gérer les notifications Pub/Sub avec l'API XML.
Supprimer une configuration de notification
Pour supprimer une configuration de notification existante de votre bucket :
Console
Vous ne pouvez pas gérer les notifications Pub/Sub avec la console Google Cloud. Utilisez plutôt gcloud CLI ou l’une des bibliothèques clientes disponibles.
Ligne de commande
Exécutez la commande gcloud storage buckets notifications delete
:
gcloud storage buckets notifications delete projects/_/buckets/BUCKET_NAME/notificationConfigs/NOTIFICATION_ID
Où :
BUCKET_NAME
est le nom du bucket dont vous souhaitez supprimer la configuration de notification. Exemple :my-bucket
.NOTIFICATION_ID
est le numéro d'identification de la configuration que vous souhaitez supprimer. Par exemple,5
.
Si l'opération réussit, la réponse se présente comme suit :
Completed 1
L'arrêt des notifications déclenchées par la configuration de notification peut prendre jusqu'à 30 secondes.
Bibliothèques clientes
C++
Pour en savoir plus, consultez la documentation de référence de l'API Cloud Storage en langage C++.
Pour vous authentifier auprès de Cloud Storage, configurez le service Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
C#
Pour en savoir plus, consultez la documentation de référence de l'API Cloud Storage en langage C#.
Pour vous authentifier auprès de Cloud Storage, configurez le service Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Go
Pour en savoir plus, consultez la documentation de référence de l'API Cloud Storage en langage Go.
Pour vous authentifier auprès de Cloud Storage, configurez le service Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Java
Pour en savoir plus, consultez la documentation de référence de l'API Cloud Storage en langage Java.
Pour vous authentifier auprès de Cloud Storage, configurez le service Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Node.js
Pour en savoir plus, consultez la documentation de référence de l'API Cloud Storage en langage Node.js.
Pour vous authentifier auprès de Cloud Storage, configurez le service Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
PHP
Pour en savoir plus, consultez la documentation de référence de l'API Cloud Storage en langage PHP.
Pour vous authentifier auprès de Cloud Storage, configurez le service Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Pour supprimer une configuration de notification d'un bucket à l'aide de PHP, consultez la documentation de référence de la bibliothèque cliente Google Cloud.Python
Pour en savoir plus, consultez la documentation de référence de l'API Cloud Storage en langage Python.
Pour vous authentifier auprès de Cloud Storage, configurez le service Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Ruby
Pour en savoir plus, consultez la documentation de référence de l'API Cloud Storage en langage Ruby.
Pour vous authentifier auprès de Cloud Storage, configurez le service Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Terraform
Pour supprimer la configuration de notification que vous avez créée, exécutez terraform destroy
à partir du dossier contenant votre fichier Terraform.
API REST
API JSON
- Obtenez un jeton d'autorisation d'accès sur la page OAuth 2.0 Playground. Configurez Playground pour utiliser vos propres identifiants OAuth. Pour obtenir des instructions, consultez la page Authentification des API.
Exécutez
cURL
pour appeler l'API JSON avec une requêteDELETE notificationConfigs
:curl -X DELETE \ -H "Authorization: Bearer OAUTH2_TOKEN" \ "https://storage.googleapis.com/storage/v1/b/BUCKET_NAME/notificationConfigs/NOTIFICATION_ID"
Où :
OAUTH2_TOKEN
correspond au jeton d'accès que vous avez généré à l'étape 1.BUCKET_NAME
correspond au nom du bucket dont vous souhaitez supprimer la configuration de notification. Exemple :my-bucket
.NOTIFICATION_ID
correspond au numéro d'identification de la configuration de notification que vous souhaitez supprimer. Par exemple,5
.
L'arrêt des notifications déclenchées par la configuration de notification peut prendre jusqu'à 30 secondes.
API XML
Vous ne pouvez pas gérer les notifications Pub/Sub avec l'API XML.
Étape suivante
- Apprenez-en plus sur les notifications Pub/Sub pour Cloud Storage.
- Créez un abonnement dans Pub/Sub pour afficher les notifications envoyées par Cloud Storage.
- Découvrez un exemple d'application Python d'interrogation de notifications sur GitHub.
- Utilisez Cloud Functions pour diffuser des événements avec un déclencheur Cloud Storage.