Desvincular suscripciones

Cuando creas una suscripción, la vinculas a un tema y los suscriptores pueden recibir mensajes de la suscripción. Para evitar que los suscriptores reciban mensajes, puedes desvincular las suscripciones del tema.

Antes de separar una suscripción, necesitas el permiso pubsub.topics.detachSubscription en el tema. Puedes separar una suscripción sin tener permisos en ella, lo que resulta útil para gestionar un tema que se encuentre en un proyecto distinto al de la suscripción. Para obtener más información, consulta Control de acceso de Pub/Sub.

Antes de empezar

Roles y permisos necesarios

Para obtener los permisos que necesitas para separar suscripciones y gestionarlas, pide a tu administrador que te conceda el rol de gestión de identidades y accesos Editor de Pub/Sub (roles/pubsub.editor) en tu tema o 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 separar suscripciones y gestionarlas. Para ver los permisos exactos que se necesitan, despliega la sección Permisos necesarios:

Permisos obligatorios

Se necesitan los siguientes permisos para desvincular suscripciones y gestionarlas:

  • 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

También puedes obtener estos permisos con roles personalizados u otros roles predefinidos.

Puedes configurar el control de acceso a nivel de proyecto y de recurso individual. Puedes crear una suscripción en un proyecto y adjuntarla a un tema ubicado en otro proyecto. Asegúrate de que tienes los permisos necesarios para cada proyecto.

Desvincular una suscripción de un tema

Puedes separar una suscripción de un tema mediante la Google Cloud consola, la CLI de Google Cloud, la biblioteca de cliente o la API Pub/Sub.

Consola

Para desvincular una suscripción, sigue estos pasos:

  1. En la Google Cloud consola, ve a la página Temas.

    Ir a Temas

  2. Selecciona el tema del que quieras separar una suscripción.

  3. En la pestaña Suscripciones, selecciona la suscripción que quieras desvincular.

  4. En la página Detalles de la suscripción, haz clic en Desvincular.

  5. En el cuadro de diálogo que aparece, vuelve a hacer clic en Desvincular.

gcloud

  1. In the Google Cloud console, activate Cloud Shell.

    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.

  2. Para desvincular una suscripción, usa el comando gcloud pubsub topics detach-subscription:

    gcloud pubsub topics detach-subscription SUBSCRIPTION_ID

    Si la solicitud se realiza correctamente, la línea de comandos muestra una confirmación:

    Detached subscription [SUBSCRIPTION_ID].
  3. 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 actual, 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
    

    Donde: