En este documento se describe cómo recibir mensajes de una suscripción de extracción. Puedes usar la Google Cloud consola, la CLI de Google Cloud, la biblioteca de cliente o la API Pub/Sub para crear una suscripción de extracción.
Antes de empezar
- Crea una suscripción de extracción.
Roles y permisos necesarios
Para obtener los permisos que necesitas para extraer mensajes de las suscripciones y gestionarlos,
pide a tu administrador que te conceda el rol de gestión de identidades y accesos Suscriptor de Pub/Sub (roles/pubsub.subscriber) en el proyecto.
Para obtener más información sobre cómo conceder roles, consulta el artículo Gestionar acceso a proyectos, carpetas y organizaciones.
Este rol predefinido contiene los permisos necesarios para extraer mensajes de las suscripciones y gestionarlos. Para ver los permisos exactos que se necesitan, despliega la sección Permisos necesarios:
Permisos obligatorios
Se necesitan los siguientes permisos para extraer mensajes de las suscripciones y gestionarlos:
-
Extraer de una suscripción:
pubsub.subscriptions.consume -
Crear una suscripción:
pubsub.subscriptions.create -
Eliminar una suscripción:
pubsub.subscriptions.delete -
Obtener una suscripción:
pubsub.subscriptions.get -
Mostrar una suscripción:
pubsub.subscriptions.list -
Actualizar una suscripción:
pubsub.subscriptions.update -
Adjuntar una suscripción a un tema:
pubsub.topics.attachSubscription -
Obtener la política de gestión de identidades y accesos de una suscripción:
pubsub.subscriptions.getIamPolicy -
Configura la política de gestión de identidades y accesos de una suscripción:
pubsub.subscriptions.setIamPolicy -
Concede el permiso para consumir mensajes de una suscripción en la suscripción de extracción:
pubsub.subscriptions.consume
También puedes obtener estos permisos con roles personalizados u otros roles predefinidos.
Extraer un mensaje de una suscripción
En los siguientes ejemplos se muestra cómo extraer un mensaje de una suscripción mediante la API StreamingPull o la API Pull.
API StreamingPull
Para usar la API StreamingPull, debes usar una biblioteca de cliente.
La Google Cloud consola y la CLI de Google Cloud no admiten la API StreamingPull.
Ejemplos de código de StreamingPull y de la biblioteca de cliente de alto nivel
C++
Antes de probar este ejemplo, sigue las instrucciones de configuración de C++ que se indican en la guía de inicio rápido sobre cómo usar bibliotecas de cliente. Para obtener más información, consulta la documentación de referencia de la API de C++ de Pub/Sub.