Cuando creas una suscripción, la adjuntas a un tema, y los suscriptores pueden recibir mensajes de la suscripción. Para evitar que los suscriptores reciban mensajes, puedes desconectar las suscripciones del tema.
Antes de comenzar
- Obtén más información sobre las suscripciones.
- Crea una de las siguientes suscripciones: extracción, envío o BigQuery.
Roles y permisos requeridos
Para obtener el permiso que necesitas para separar suscripciones, pídele a tu administrador que te otorgue el rol de IAM Editor de Pub/Sub (roles/pubsub.editor) en el tema.
Para obtener más información sobre cómo otorgar roles, consulta Administra el acceso a proyectos, carpetas y organizaciones.
Este rol predefinido contiene el permiso
pubsub.topics.detachSubscription,
que se requiere para
desvincular suscripciones.
También puedes obtener este permiso con roles personalizados o con otros roles predefinidos.
Puedes configurar el control de acceso a nivel del proyecto y a nivel de cada recurso. Puedes crear una suscripción en un proyecto y adjuntarla a un tema ubicado en un proyecto diferente. Asegúrate de tener los permisos necesarios para cada proyecto.
Desconecta una suscripción de un tema
Puedes desconectar una suscripción de un tema con la consola de Google Cloud , 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 deseas desconectar una suscripción.
En la pestaña Suscripciones, selecciona la suscripción que deseas desvincular.
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
-
En la consola de Google Cloud , activa Cloud Shell.
En la parte inferior de la consola de Google Cloud , se inicia una sesión de Cloud Shell en la que se muestra una ventana de línea de comandos. Cloud Shell es un entorno de shell con Google Cloud CLI ya instalada y con valores ya establecidos para el proyecto actual. La sesión puede tardar unos segundos en inicializarse.
-
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 separar 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 las credenciales predeterminadas de la aplicación actuales, 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í:
- PROJECT_ID es el ID del proyecto.
- SUBSCRIPTION_ID es tu ID de suscripción.
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++ en la guía de inicio rápido sobre el uso de bibliotecas cliente. Si quieres obtener más información, consulta la documentación de referencia de la API de Pub/Sub para C++.
C#
Antes de probar esta muestra, sigue las instrucciones de configuración de C# en la guía de inicio rápido sobre el uso de bibliotecas cliente. Si quieres obtener más información, consulta la documentación de referencia de la API de Pub/Sub para C#.
Go
En el siguiente ejemplo, se usa la versión principal de la biblioteca cliente de Pub/Sub para Go (v2). Si aún usas la biblioteca v1, consulta la guía de migración a v2. Para ver una lista de muestras de código de la versión 1, consulta las muestras de código obsoletas.
Antes de probar este ejemplo, sigue las instrucciones de configuración para Go que se encuentran en la guía de inicio rápido sobre cómo usar bibliotecas cliente. Si quieres obtener más información, consulta la documentación de referencia de la API de Pub/Sub para Go.
Java
Antes de probar esta muestra, sigue las instrucciones de configuración de Java en la guía de inicio rápido sobre el uso de bibliotecas cliente. Si quieres obtener más información, consulta la documentación de referencia de la API de Pub/Sub para Java.
Node.js
Antes de probar esta muestra, sigue las instrucciones de configuración de Node.js en la guía de inicio rápido sobre el uso de bibliotecas cliente. Si quieres obtener más información, consulta la documentación de referencia de la API de Pub/Sub para Node.js.
Node.ts
Antes de probar esta muestra, sigue las instrucciones de configuración de Node.js en la guía de inicio rápido sobre el uso de bibliotecas cliente. Si quieres obtener más información, consulta la documentación de referencia de la API de Pub/Sub para Node.js.
PHP
Antes de probar esta muestra, sigue las instrucciones de configuración de PHP en la guía de inicio rápido sobre el uso de bibliotecas cliente. Si quieres obtener más información, consulta la documentación de referencia de la API de Pub/Sub para PHP.
Python
Antes de probar esta muestra, sigue las instrucciones de configuración de Python en la guía de inicio rápido sobre el uso de bibliotecas cliente. Si deseas obtener más información, consulta la documentación de referencia de la API de Pub/Sub para Python.
Ruby
En el siguiente ejemplo, se usa la biblioteca cliente de Pub/Sub de Ruby v3. Si aún usas la biblioteca de la versión 2, consulta la guía de migración a la versión 3. Para ver una lista de muestras de código de Ruby v2, consulta las muestras de código obsoletas.
Antes de probar este ejemplo, sigue las instrucciones de configuración para Ruby que se encuentran en la Guía de inicio rápido: Usa bibliotecas cliente. Si quieres obtener más información, consulta la documentación de referencia de la API de Pub/Sub para Ruby.
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 tu cuota de Google Cloud proyectos, borra la suscripción.
Si la suscripción y el tema se encuentran en diferentes Google Cloud proyectos, el servicio de Pub/Sub agrega una entrada a los registros de auditoría de ambos proyectos.
¿Qué sigue?
- Crea o modifica una suscripción con comandos
gcloud. - Crea o modifica una suscripción con las APIs de REST.