Cuando creas una suscripción, la adjuntas a un tema. los suscriptores pueden recibir mensajes de la suscripción. Para que los suscriptores no reciban mensajes, puedes desconectar las suscripciones del tema.
Antes de desconectar una suscripción, necesitas el permiso pubsub.topics.detachSubscription
sobre el tema. Puedes desconectar una suscripción sin permisos en la suscripción, lo que es útil para administrar un tema que está en un proyecto diferente al de la suscripción. Para obtener más información, consulta Control de acceso de Pub/Sub.
Antes de comenzar
- Obtén más información sobre las suscripciones.
- Crea una de las siguientes suscripciones: pull, push o BigQuery.
Roles y permisos requeridos
Para obtener los permisos que necesitas para desvincular suscripciones y administrarlas,
pídele a tu administrador que te otorgue el rol de IAM de
editor de Pub/Sub (roles/pubsub.editor
) en tu tema o proyecto.
Para obtener más información sobre cómo otorgar roles, consulta Administra el acceso a proyectos, carpetas y organizaciones.
Este rol predefinido contiene los permisos necesarios para desvincular las suscripciones y administrarlas. Para ver los permisos exactos que son necesarios, expande la sección Permisos requeridos:
Permisos necesarios
Se requieren los siguientes permisos para desvincular suscripciones y administrarlas:
-
Extraer de una suscripción:
pubsub.subscriptions.consume
-
Crea una suscripción:
pubsub.subscriptions.create
-
Borra una suscripción:
pubsub.subscriptions.delete
-
Obtener una suscripción:
pubsub.subscriptions.get
-
Muestra una suscripción:
pubsub.subscriptions.list
-
Actualizar una suscripción:
pubsub.subscriptions.update
-
Adjuntar una suscripción a un tema:
pubsub.topics.attachSubscription
-
Obtén la política de IAM para una suscripción:
pubsub.subscriptions.getIamPolicy
-
Configura la política de IAM para una suscripción:
pubsub.subscriptions.setIamPolicy
También puedes obtener estos permisos con roles personalizados o con otros roles predefinidos.
Puedes configurar el control de acceso a nivel de proyecto y a nivel de los recursos individuales. Puedes crear una suscripción en un proyecto adjuntarlo a un tema ubicado en un proyecto diferente. Asegúrate de tener los permisos necesarios para cada proyecto.
Cómo desconectar una suscripción de un tema
Puedes desconectar una suscripción de un tema usando la consola de Google Cloud, el Google Cloud CLI, la biblioteca cliente o la API de Pub/Sub.
Console
Para desconectar una suscripción, sigue estos pasos:
En la consola de Google Cloud, ve a la página Temas.
Selecciona el tema del que quieres desvincular una suscripción.
En la pestaña Suscripciones, selecciona la suscripción que se desconectará.
En la página Detalles de la suscripción, haz clic en Desconectar.
En el cuadro de diálogo que aparecerá, vuelve a hacer clic en Desconectar.
gcloud
-
In the Google Cloud console, activate Cloud Shell.
At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.
-
Para desconectar una suscripción, usa el comando
gcloud pubsub topics detach-subscription
:gcloud pubsub topics detach-subscription SUBSCRIPTION_ID
Si la solicitud es exitosa, la línea de comandos muestra una confirmación:
Detached subscription [SUBSCRIPTION_ID].
REST
Para desconectar una suscripción, usa el método projects.subscriptions.detach
.
Solicitud:
La solicitud debe autenticarse con un token de acceso en el encabezado Authorization
. Para obtener un token de acceso para el token
de las credenciales predeterminadas de la aplicación, usa el
Comando gcloud auth application-default print-access-token
.
POST https://pubsub.googleapis.com/v1/projects/PROJECT_ID/subscriptions/SUBSCRIPTION_ID:detach Authorization: Bearer ACCESS_TOKEN
Aquí:
Respuesta:
Si la solicitud es correcta, la respuesta es un objeto JSON vacío.
C++
Antes de probar esta muestra, sigue las instrucciones de configuración de C++ que se encuentran en el Guía de inicio rápido de Pub/Sub con bibliotecas cliente. Para obtener más información, consulta la API de C++ de Pub/Sub documentación de referencia.
Para autenticarte en Pub/Sub, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
C#
Antes de probar esta muestra, sigue las instrucciones de configuración de C# que se encuentran en el Guía de inicio rápido de Pub/Sub con bibliotecas cliente. Si quieres obtener más información, consulta la documentación de referencia de la API de C# de Pub/Sub.
Para autenticarte en Pub/Sub, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
Go
Antes de probar esta muestra, sigue las instrucciones de configuración de Go que encontrarás en la guía de inicio rápido de Pub/Sub con bibliotecas cliente. Para obtener más información, consulta la API de Go de Pub/Sub documentación de referencia.
Para autenticarte en Pub/Sub, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
Java
Antes de probar esta muestra, sigue las instrucciones de configuración de Java que encontrarás en la guía de inicio rápido de Pub/Sub con bibliotecas cliente. Si quieres obtener más información, consulta la documentación de referencia de la API de Java de Pub/Sub.
Para autenticarte en Pub/Sub, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
Node.js
Node.js
PHP
Antes de probar esta muestra, sigue las instrucciones de configuración de PHP que se encuentran en el Guía de inicio rápido de Pub/Sub con bibliotecas cliente. Si quieres obtener más información, consulta la documentación de referencia de la API de PHP de Pub/Sub.
Para autenticarte en Pub/Sub, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
Python
Antes de probar esta muestra, sigue las instrucciones de configuración de Python que se encuentran en el Guía de inicio rápido de Pub/Sub con bibliotecas cliente. Si quieres obtener más información, consulta la documentación de referencia de la API de Python de Pub/Sub.
Para autenticarte en Pub/Sub, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
Ruby
Antes de probar esta muestra, sigue las instrucciones de configuración de Ruby que se encuentran en el Guía de inicio rápido de Pub/Sub con bibliotecas cliente. Para obtener más información, consulta la API de Ruby de Pub/Sub documentación de referencia.
Para autenticarte en Pub/Sub, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
El servicio de Pub/Sub podría tardar varios minutos en terminar de desconectar la suscripción del tema.
Una vez que el servicio de Pub/Sub desconecta la suscripción del tema, borra los mensajes que retiene para la suscripción. No puedes recuperar los mensajes de la suscripción ni volver a adjuntar la suscripción a un tema. Para liberar la cuota de tu proyecto de Google Cloud, borra la suscripción.
Si la suscripción y el tema están en proyectos de Google Cloud diferentes, el El servicio de Pub/Sub agrega una entrada a los registros de auditoría de ambos proyectos.
¿Qué sigue?
- Crear o modificar una suscripción con los comandos de
gcloud
- Crea o modifica una suscripción con las APIs de REST.