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é, procédez comme suit :
Activer l'API Pub/Sub
Activer l'API Pub/Sub pour le projet qui recevra les notifications.
Obtenir les rôles requis
Pour obtenir les autorisations nécessaires pour configurer et afficher les notifications Pub/Sub d'un bucket, demandez à votre administrateur de vous accorder les rôles suivants. Ces rôles prédéfinis contiennent les autorisations requises pour configurer et afficher les notifications Pub/Sub.
Rôle Administrateur de l'espace de stockage (
roles/storage.admin
) sur le bucket pour lequel vous souhaitez configurer les notifications Pub/SubRôle Administrateur Pub/Sub (
roles/pubsub.admin
) sur le projet dans lequel vous souhaitez recevoir des notifications Pub/Sub
Vous pouvez également obtenir ces autorisations avec d'autres rôles prédéfinis ou rôles personnalisés.
Consultez la page Utiliser IAM avec des buckets pour savoir comment attribuer des rôles sur des buckets. Consultez la page Contrôler les accès pour savoir comment attribuer des rôles aux projets et définir des contrôles d'accès pour les sujets et les abonnements.
Vérifiez que vous disposez d'un sujet Pub/Sub existant
Si vous ne l'avez pas déjà fait, créez un sujet Pub/Sub auquel vous souhaitez envoyer des notifications. Cette étape n'est pas nécessaire si vous prévoyez d'utiliser Google Cloud CLI ou Terraform pour exécuter les instructions de cette page.
Attribuer le rôle requis à l'agent de service de votre projet
Les étapes suivantes ne sont pas nécessaires si vous prévoyez d'utiliser Google Cloud CLI ou Terraform pour exécuter les instructions de cette page.
Obtenir l'adresse e-mail de l'agent de service associé au projet contenant votre bucket Cloud Storage.
Attribuez à l'agent de service le rôle Diffuseur Pub/Sub (
roles/pubsub.publisher
) pour le sujet Pub/Sub concerné. Consultez la page Contrôler les accès pour obtenir des instructions sur l'attribution de rôles pour des sujets.
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.
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.
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
.
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 la page Configurer l'authentification pour les bibliothèques clientes.
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 la page Configurer l'authentification pour les bibliothèques clientes.
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 la page Configurer l'authentification pour les bibliothèques clientes.
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 la page Configurer l'authentification pour les bibliothèques clientes.
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 la page Configurer l'authentification pour les bibliothèques clientes.
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 la page Configurer l'authentification pour les bibliothèques clientes.
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.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 la page Configurer l'authentification pour les bibliothèques clientes.
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 la page Configurer l'authentification pour les bibliothèques clientes.
Vous pouvez utiliser une ressource Terraform pour ajouter une configuration de notification à un bucket.
Vous devez installer et initialiser gcloud CLI, ce qui vous permet de générer un jeton d'accès pour l'en-tête
Authorization
.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. 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 $(gcloud auth print-access-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.BUCKET_NAME
correspond au nom du bucket pour lequel vous souhaitez générer des notifications. Par exemple,my-bucket
.
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:
Vous ne pouvez pas gérer les notifications Pub/Sub avec la console Google Cloud. Utilisez plutôt Google Cloud CLI ou l’une des bibliothèques clientes disponibles.
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
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 la page Configurer l'authentification pour les bibliothèques clientes.
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 la page Configurer l'authentification pour les bibliothèques clientes.
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 la page Configurer l'authentification pour les bibliothèques clientes.
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 la page Configurer l'authentification pour les bibliothèques clientes.
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 la page Configurer l'authentification pour les bibliothèques clientes.
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 la page Configurer l'authentification pour les bibliothèques clientes.
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.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 la page Configurer l'authentification pour les bibliothèques clientes.
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 la page Configurer l'authentification pour les bibliothèques clientes.
Vous devez installer et initialiser gcloud CLI, ce qui vous permet de générer un jeton d'accès pour l'en-tête
Authorization
.Utilisez
cURL
pour appeler l'API JSON avec une requêteGET notificationConfigs
:curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://storage.googleapis.com/storage/v1/b/
BUCKET_NAME /notificationConfigs/NOTIFICATION_ID "Où :
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
.
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 :
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.
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
.
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 la page Configurer l'authentification pour les bibliothèques clientes.
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 la page Configurer l'authentification pour les bibliothèques clientes.
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 la page Configurer l'authentification pour les bibliothèques clientes.
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 la page Configurer l'authentification pour les bibliothèques clientes.
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 la page Configurer l'authentification pour les bibliothèques clientes.
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 la page Configurer l'authentification pour les bibliothèques clientes.
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.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 la page Configurer l'authentification pour les bibliothèques clientes.
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 la page Configurer l'authentification pour les bibliothèques clientes.
Vous devez installer et initialiser gcloud CLI, ce qui vous permet de générer un jeton d'accès pour l'en-tête
Authorization
.Utilisez
cURL
pour appeler l'API JSON avec une requêteGET notificationConfigs
:curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://storage.googleapis.com/storage/v1/b/
BUCKET_NAME /notificationConfigs"Où
BUCKET_NAME
est le nom du bucket dont vous souhaitez lister les configurations de notification. Exemple :my-bucket
.
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 :
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.
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.
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 la page Configurer l'authentification pour les bibliothèques clientes.
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 la page Configurer l'authentification pour les bibliothèques clientes.
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 la page Configurer l'authentification pour les bibliothèques clientes.
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 la page Configurer l'authentification pour les bibliothèques clientes.
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 la page Configurer l'authentification pour les bibliothèques clientes.
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 la page Configurer l'authentification pour les bibliothèques clientes.
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.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 la page Configurer l'authentification pour les bibliothèques clientes.
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 la page Configurer l'authentification pour les bibliothèques clientes.
Pour supprimer la configuration de notification que vous avez créée, exécutez terraform destroy
à partir du dossier contenant votre fichier Terraform.
Vous devez installer et initialiser gcloud CLI, ce qui vous permet de générer un jeton d'accès pour l'en-tête
Authorization
.Utilisez
cURL
pour appeler l'API JSON avec une requêteDELETE notificationConfigs
:curl -X DELETE \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://storage.googleapis.com/storage/v1/b/
BUCKET_NAME /notificationConfigs/NOTIFICATION_ID "Où :
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.
Vous ne pouvez pas gérer les notifications Pub/Sub avec l'API XML.
Étapes suivantes
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 qui interroge les notifications sur GitHub.
Utilisez les fonctions Cloud Run pour diffuser des événements avec un déclencheur Cloud Storage.