En esta página, se describe cómo configurar y usar las notificaciones de Pub/Sub para Cloud Storage. Las notificaciones de Pub/Sub te permiten realizar un seguimiento de los cambios en tus objetos de Cloud Storage.
Requisitos
Antes de usar esta característica, debes realizar las siguientes acciones:
Habilitar la API de Pub/Sub para el proyecto que recibirá notificaciones
Obtén los permisos necesarios en el bucket que desees supervisar:
Si eres propietario del proyecto que contiene el bucket, es probable que tengas el permiso necesario.
Si usas IAM, debes tener el permiso
storage.buckets.update
. Consulta Usa permisos de IAM a fin de obtener instrucciones para realizar esto.Si usas las LCA, debes tener el permiso
OWNER
. Consulta Configura las LCA a fin de obtener instrucciones para realizar esto.
Obtén los permisos necesarios en el proyecto que recibirá notificaciones:
Si eres propietario del proyecto que recibirá notificaciones, lo más probable es que tengas el permiso necesario.
Si piensas crear temas para recibir notificaciones, debe tener el permiso
pubsub.topics.create
.Ya sea que pienses usar temas nuevos o existentes, debes tener el permiso
pubsub.topics.setIamPolicy
. Si creas un tema, sueles tenerpubsub.topics.setIamPolicy
para él.Consulta la sección sobre el control de acceso a Pub/Sub para obtener instrucciones sobre cómo obtener estos permisos de Pub/Sub.
- .
Obtén un tema de Pub/Sub existente al que desees enviar notificaciones.
Obtén la dirección de correo electrónico del agente de servicio asociada con el proyecto que contiene tu bucket de Cloud Storage.
Usa la dirección de correo electrónico que obtuviste en el paso anterior a fin de asignar al agente de servicio la función
pubsub.publisher
de IAM para el tema de Pub/Sub que desees.
Aplica una configuración de notificaciones
Con los siguientes pasos, puedes agregar una configuración de notificaciones a tu depósito que envíe notificaciones a todos los eventos compatibles.
gsutil
Usa el comando gsutil notification create
y reemplaza PLACEHOLDERS
por los valores adecuados:
gsutil notification create -t TOPIC_NAME -f json gs://BUCKET_NAME
Si usas un TOPIC_NAME
que no existe en el proyecto, gsutil crea uno.
Para enviar notificaciones de un subconjunto de eventos, incluye la marca -e
.
Muestras de código
C++
Si deseas obtener más información, consulta la documentación de referencia de la API de Cloud Storage para C++.
C#
Si deseas obtener más información, consulta la documentación de referencia de la API de Cloud Storage para C#.
A fin de crear una configuración de notificaciones para un bucket con C#, consulta la documentación de referencia de CreateTopic.Comienza a usarlo
Si deseas obtener más información, consulta la documentación de referencia de la API de Cloud Storage para Go.
A fin de crear una configuración de notificaciones para un bucket con Go, consulta la documentación de referencia de BucketHandle.Java
Si deseas obtener más información, consulta la documentación de referencia de la API de Cloud Storage para Java.
En este momento, no puedes administrar Pub/Sub Notifications con la biblioteca cliente de Java.
Node.js
Si deseas obtener más información, consulta la documentación de referencia de la API de Cloud Storage para Node.js.
A fin de crear una configuración de notificaciones para un bucket con NodeJS, consulta la documentación de referencia de Bucket.PHP
Si deseas obtener más información, consulta la documentación de referencia de la API de Cloud Storage para PHP.
Si deseas crear una configuración de notificaciones para un depósito con PHP, consulta la documentación de referencia de la biblioteca cliente de Google Cloud.Python
Si deseas obtener más información, consulta la documentación de referencia de la API de Cloud Storage para Python.
A fin de crear una configuración de notificaciones para un bucket con Python, consulta la documentación de referencia de Buckets.Ruby
Si deseas obtener más información, consulta la documentación de referencia de la API de Cloud Storage para Ruby.
Si quieres crear una configuración de notificación para un depósito con Ruby, consulta la documentación de referencia de la claseGoogle::Cloud::Storage::Bucket
.
API de JSON
- Obtén un token de acceso de autorización de OAuth 2.0 Playground. Configura la zona de pruebas para usar tus propias credenciales de OAuth.
Crea un archivo .json que contenga la siguiente información y reemplaza
PLACEHOLDERS
por los valores adecuados:{ "topic": "projects/PROJECT_ID/topics/TOPIC_NAME", "payload_format": "JSON_API_V1" }
Para enviar notificaciones de un subconjunto de eventos, incluye el campo
event_types
en el cuerpo de tu solicitud JSON.Usa
cURL
para llamar a la API de JSON con una solicitudPOST notificationConfigs
y reemplazaPLACEHOLDERS
por los valores adecuados:curl -X POST --data-binary @JSON_FILE_NAME.json \ -H "Authorization: Bearer OAUTH2_TOKEN" \ -H "Content-Type: application/json" \ "https://storage.googleapis.com/storage/v1/b/BUCKET_NAME/notificationConfigs"
Enumera las opciones de configuración de notificaciones de un bucket
Para enumerar las configuraciones de notificaciones asociadas con un bucket en particular, realiza las siguientes acciones:
gsutil
Usa el comando gsutil notification list
y reemplaza PLACEHOLDERS
por los valores adecuados:
gsutil notification list gs://BUCKET_NAME
Muestras de código
C++
Si deseas obtener más información, consulta la documentación de referencia de la API de Cloud Storage para C++.
C#
Si deseas obtener más información, consulta la documentación de referencia de la API de Cloud Storage para C#.
Para enumerar las opciones de configuración de notificaciones asociadas con un bucket mediante C#, consulta la documentación de referencia de StorageClient.Comienza a usarlo
Si deseas obtener más información, consulta la documentación de referencia de la API de Cloud Storage para Go.
Para enumerar las opciones de configuración de notificaciones asociadas con un bucket mediante Go, consulta la documentación de referencia de BucketHandle.Java
Si deseas obtener más información, consulta la documentación de referencia de la API de Cloud Storage para Java.
En este momento, no puedes administrar Pub/Sub Notifications con la biblioteca cliente de Java.
Node.js
Si deseas obtener más información, consulta la documentación de referencia de la API de Cloud Storage para Node.js.
Para enumerar las opciones de configuración de notificaciones asociadas con un bucket mediante NodeJS, consulta la documentación de referencia de Bucket.PHP
Si deseas obtener más información, consulta la documentación de referencia de la API de Cloud Storage para PHP.
Para enumerar las configuraciones de notificaciones asociadas con un depósito mediante PHP, consulta la documentación de referencia de la biblioteca cliente de Google Cloud.Python
Si deseas obtener más información, consulta la documentación de referencia de la API de Cloud Storage para Python.
Para enumerar las opciones de configuración de notificaciones asociadas con un bucket mediante Python, consulta la documentación de referencia de Buckets.Ruby
Si deseas obtener más información, consulta la documentación de referencia de la API de Cloud Storage para Ruby.
Para enumerar las configuraciones de notificaciones asociadas con un depósito mediante Ruby, consulta la documentación de referencia de la claseGoogle::Cloud::Storage::Bucket
.
API de JSON
- Obtén un token de acceso de autorización de OAuth 2.0 Playground. Configura Playground para usar tus credenciales de OAuth.
Usa
cURL
para llamar a la API de JSON con una solicitudGET notificationConfigs
y reemplazaPLACEHOLDERS
por los valores adecuados:curl -X GET \ -H "Authorization: Bearer OAUTH2_TOKEN" \ "https://storage.googleapis.com/storage/v1/b/BUCKET_NAME/notificationConfigs"
Quita una configuración de notificaciones
Para quitar de tu bucket una configuración de notificaciones existente, realiza las siguientes acciones:
gsutil
Usa el comando gsutil notification delete
y reemplaza PLACEHOLDERS
por los valores adecuados:
gsutil notification delete projects/_/buckets/BUCKET_NAME/notificationConfigs/CONFIGURATION_NAME
Una vez enviadas, pueden pasar hasta 30 segundos para que se detengan todas las notificaciones que la configuración de notificaciones activó.
Muestras de código
C++
Si deseas obtener más información, consulta la documentación de referencia de la API de Cloud Storage para C++.
C#
Si deseas obtener más información, consulta la documentación de referencia de la API de Cloud Storage para C#.
Para borrar una configuración de notificaciones de un bucket con C#, consulta la documentación de referencia de StorageClient.Comienza a usarlo
Si deseas obtener más información, consulta la documentación de referencia de la API de Cloud Storage para Go.
A fin de borrar una configuración de notificaciones para un bucket con Go, consulta la documentación de referencia de BucketHandle.Java
Si deseas obtener más información, consulta la documentación de referencia de la API de Cloud Storage para Java.
En este momento, no puedes administrar Pub/Sub Notifications con la biblioteca cliente de Java.
Node.js
Si deseas obtener más información, consulta la documentación de referencia de la API de Cloud Storage para Node.js.
A fin de borrar una configuración de notificaciones para un bucket con NodeJS, consulta la documentación de referencia de Notification.PHP
Si deseas obtener más información, consulta la documentación de referencia de la API de Cloud Storage para PHP.
Para borrar una configuración de notificaciones de un depósito con PHP, consulta la documentación de referencia de la biblioteca cliente de Google Cloud.Python
Si deseas obtener más información, consulta la documentación de referencia de la API de Cloud Storage para Python.
A fin de borrar una configuración de notificaciones para un bucket con Python, consulta la documentación de referencia de Notification.
Ruby
Si deseas obtener más información, consulta la documentación de referencia de la API de Cloud Storage para Ruby.
Para borrar una configuración de notificación de un depósito con Ruby, consulta la documentación de referencia de la claseGoogle::Cloud::Storage::Notification
.
API de JSON
- Obtén un token de acceso de autorización de OAuth 2.0 Playground. Configura Playground para usar tus credenciales de OAuth.
Usa
cURL
para llamar a la API de JSON con una solicitudDELETE notificationConfigs
y reemplazaPLACEHOLDERS
por los valores adecuados:curl -X DELETE \ -H "Authorization: Bearer OAUTH2_TOKEN" \ "https://storage.googleapis.com/storage/v1/b/BUCKET_NAME/notificationConfigs/CONFIGURATION_NAME"
Después del envío, pueden pasar hasta 30 segundos para que se detengan todas las notificaciones que la configuración de notificaciones activó.
¿Qué sigue?
- Obtén más información sobre las notificaciones de Pub/Sub para Cloud Storage.
- Crea una suscripción en Pub/Sub para ver las notificaciones que Cloud Storage envió.
- Consulta una app de ejemplo de sondeo de Python para notificaciones en GitHub.
- Crea un álbum de fotos que use las notificaciones de Pub/Sub para Cloud Storage.
- Obtén más información sobre cómo usar Pub/Sub para tareas de larga duración.