Wenn Sie ein Abo erstellen, hängen Sie das Abo an ein Thema an und Abonnenten können Nachrichten des Abos empfangen. Damit Abonnenten keine Nachrichten erhalten, können Sie das jeweilige Abo von diesem Thema trennen.
Zum Trennen eines Abos benötigen Sie die Berechtigung pubsub.topics.detachSubscription
für das Thema. Sie können ein Abo ohne Berechtigungen für das Abo trennen. Dies ist nützlich, um ein Thema zu verwalten, das sich in einem anderen Projekt als das Abo befindet. Weitere Informationen finden Sie unter Pub/Sub-Zugriffssteuerung.
Hinweis
- Weitere Informationen zu Abos
- Erstellen Sie eines der folgenden Abos: Pull, Push oder BigQuery.
Erforderliche Rollen und Berechtigungen
Bitten Sie Ihren Administrator, Ihnen die IAM-Rolle Pub/Sub Editor (roles/pubsub.editor
) für Ihr Thema oder Projekt zuzuweisen, um die Berechtigungen zu erhalten, die Sie zum Entkoppeln und Verwalten von Abos benötigen.
Weitere Informationen zum Zuweisen von Rollen finden Sie unter Zugriff auf Projekte, Ordner und Organisationen verwalten.
Diese vordefinierte Rolle enthält die Berechtigungen, die zum Entkoppeln und Verwalten von Abos erforderlich sind. Erweitern Sie den Abschnitt Erforderliche Berechtigungen, um die erforderlichen Berechtigungen anzuzeigen:
Erforderliche Berechtigungen
Die folgenden Berechtigungen sind erforderlich, um Abos zu trennen und zu verwalten:
-
Daten aus einem Abo abrufen:
pubsub.subscriptions.consume
-
So erstellst du ein Abo:
pubsub.subscriptions.create
-
So löschen Sie ein Abo:
pubsub.subscriptions.delete
-
Abo abschließen:
pubsub.subscriptions.get
-
Abo auflisten:
pubsub.subscriptions.list
-
Abo aktualisieren:
pubsub.subscriptions.update
-
So hängen Sie ein Abo an ein Thema an:
pubsub.topics.attachSubscription
-
Rufen Sie die IAM-Richtlinie für ein Abo ab:
pubsub.subscriptions.getIamPolicy
-
Konfigurieren Sie die IAM-Richtlinie für ein Abo:
pubsub.subscriptions.setIamPolicy
Sie können diese Berechtigungen auch mit benutzerdefinierten Rollen oder anderen vordefinierten Rollen erhalten.
Sie können die Zugriffssteuerung auf Projektebene und auf der Ebene einzelner Ressourcen konfigurieren. Sie können ein Abo in einem Projekt erstellen und einem Thema in einem anderen Projekt zuordnen. Sie müssen die erforderlichen Berechtigungen für jedes Projekt haben.
Abo von einem Thema trennen
Sie können ein Abo mithilfe der Google Cloud Console, der Google Cloud CLI, der Clientbibliothek oder der Pub/Sub API von einem Thema trennen.
Console
So trennen Sie ein Abo:
Rufen Sie in der Google Cloud Console die Seite Themen auf.
Wählen Sie das Thema aus, von dem Sie ein Abo trennen möchten.
Wählen Sie auf dem Tab Abos das Abo aus, das Sie trennen möchten.
Klicken Sie auf der Seite Abodetails auf Trennen.
Klicken Sie im angezeigten Dialogfeld noch einmal auf Trennen.
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.
-
Verwenden Sie den Befehl
gcloud pubsub topics detach-subscription
, um ein Abo zu trennen:gcloud pubsub topics detach-subscription SUBSCRIPTION_ID
Wenn die Anfrage erfolgreich ist, wird in der Befehlszeile eine Bestätigung angezeigt:
Detached subscription [SUBSCRIPTION_ID].
REST
Verwenden Sie die Methode projects.subscriptions.detach
, um ein Abo zu trennen.
Anfrage:
Die Anfrage muss mit einem Zugriffstoken im Header Authorization
authentifiziert werden. Um ein Zugriffstoken für die aktuellen Standardanmeldedaten für Anwendungen abzurufen, verwenden Sie den Befehl
gcloud auth application-default print-access-token
.
POST https://pubsub.googleapis.com/v1/projects/PROJECT_ID/subscriptions/SUBSCRIPTION_ID:detach Authorization: Bearer ACCESS_TOKEN
Wobei:
Response:
Wenn die Anfrage erfolgreich ist, ist die Antwort ein leeres JSON-Objekt.
C++
Folgen Sie der Einrichtungsanleitung für C++ in der Kurzanleitung zur Verwendung von Clientbibliotheken, bevor Sie dieses Beispiel anwenden. Weitere Informationen finden Sie in der Referenzdokumentation zur Pub/Sub C++ API.
Richten Sie die Standardanmeldedaten für Anwendungen ein, um sich bei Pub/Sub zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
C#
Folgen Sie der Einrichtungsanleitung für C# in der Kurzanleitung zur Verwendung von Clientbibliotheken, bevor Sie dieses Beispiel anwenden. Weitere Informationen finden Sie in der Referenzdokumentation zur Pub/Sub C# API.
Richten Sie die Standardanmeldedaten für Anwendungen ein, um sich bei Pub/Sub zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Go
Folgen Sie der Einrichtungsanleitung für Go in der Kurzanleitung zur Verwendung von Clientbibliotheken, bevor Sie dieses Beispiel anwenden. Weitere Informationen finden Sie in der Referenzdokumentation zur Pub/Sub Go API.
Richten Sie die Standardanmeldedaten für Anwendungen ein, um sich bei Pub/Sub zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Java
Folgen Sie der Einrichtungsanleitung für Java in der Kurzanleitung zur Verwendung von Clientbibliotheken, bevor Sie dieses Beispiel anwenden. Weitere Informationen finden Sie in der Referenzdokumentation zur Pub/Sub Java API.
Richten Sie die Standardanmeldedaten für Anwendungen ein, um sich bei Pub/Sub zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Node.js
Node.js
PHP
Folgen Sie der Einrichtungsanleitung für PHP in der Kurzanleitung zur Verwendung von Clientbibliotheken, bevor Sie dieses Beispiel anwenden. Weitere Informationen finden Sie in der Referenzdokumentation zur Pub/Sub PHP API.
Richten Sie die Standardanmeldedaten für Anwendungen ein, um sich bei Pub/Sub zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Python
Folgen Sie der Einrichtungsanleitung für Python in der Kurzanleitung zur Verwendung von Clientbibliotheken, bevor Sie dieses Beispiel anwenden. Weitere Informationen finden Sie in der Referenzdokumentation zur Pub/Sub Python API.
Richten Sie die Standardanmeldedaten für Anwendungen ein, um sich bei Pub/Sub zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Ruby
Folgen Sie der Einrichtungsanleitung für Ruby in der Kurzanleitung zur Verwendung von Clientbibliotheken, bevor Sie dieses Beispiel anwenden. Weitere Informationen finden Sie in der Referenzdokumentation zur Pub/Sub Ruby API.
Richten Sie die Standardanmeldedaten für Anwendungen ein, um sich bei Pub/Sub zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Es kann einige Minuten dauern, bis der Pub/Sub-Dienst das Abo vom Thema getrennt hat.
Nachdem der Pub/Sub-Dienst das Abo von dem Thema getrennt hat, löscht er alle Nachrichten, die er für das Abo erhalten hat. Sie können diese Nachrichten weder aus dem Abo abrufen noch das Abo an ein Thema anhängen. Löschen Sie das Abo, um Ihr Google Cloud-Projektkontingent freizugeben.
Wenn sich das Abo und das Thema in verschiedenen Google Cloud-Projekten befinden, fügt der Pub/Sub-Dienst den Audit-Logs beider Projekte einen Eintrag hinzu.
Nächste Schritte
- Erstellen oder ändern Sie ein Abo mit
gcloud
-Befehlen. - Mit REST APIs ein Abo erstellen oder ändern