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.
Hinweise
- 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, damit Sie die Berechtigungen erhalten, die Sie zum Trennen 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 Trennen 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:
-
Aus einem Abo abrufen:
pubsub.subscriptions.consume
-
Abo erstellen:
pubsub.subscriptions.create
-
Abo löschen:
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
-
IAM-Richtlinie für ein Abo abrufen:
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 es an ein Thema anhängen, das sich in einem anderen Projekt befindet. Prüfen Sie, ob Sie die erforderlichen Berechtigungen für jedes Projekt haben.
Abo von einem Thema trennen
Sie können ein Abo mithilfe der Trusted Cloud -Konsole, 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 Trusted 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 Trusted Cloud console, activate Cloud Shell.
At the bottom of the Trusted 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].
- PROJECT_ID ist die Projekt-ID.
- SUBSCRIPTION_ID ist Ihre Abo-ID.
REST
Wenn Sie ein Abo trennen möchten, verwenden Sie die Methode projects.subscriptions.detach
.
Anfrage:
Die Anfrage muss mit einem Zugriffstoken im Header Authorization
authentifiziert werden. So rufen Sie ein Zugriffstoken für die aktuellen Standardanmeldedaten für Anwendungen ab:
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++
Bevor Sie dieses Beispiel testen, folgen Sie der Einrichtungsanleitung für C++ in der Kurzanleitung: Clientbibliotheken verwenden. Weitere Informationen finden Sie in der Referenzdokumentation zur Pub/Sub C++ API.
C#
Bevor Sie dieses Beispiel testen, folgen Sie der Einrichtungsanleitung für C# in der Schnellstart-Anleitung: Clientbibliotheken verwenden. Weitere Informationen finden Sie in der Referenzdokumentation zu Pub/Sub C# API.
Go
Im folgenden Beispiel wird die Hauptversion der Go Pub/Sub-Clientbibliothek (v2) verwendet. Wenn Sie noch die v1-Bibliothek verwenden, finden Sie hier den Migrationsleitfaden für v2. Eine Liste der Codebeispiele für Version 1 finden Sie unter Eingestellte Codebeispiele.
Bevor Sie dieses Beispiel testen, folgen Sie der Einrichtungsanleitung für Go in der Schnellstart-Anleitung: Clientbibliotheken verwenden. Weitere Informationen finden Sie in der Referenzdokumentation zu Pub/Sub Go API.
Java
Bevor Sie dieses Beispiel testen, folgen Sie der Einrichtungsanleitung für Java in der Kurzanleitung: Clientbibliotheken verwenden. Weitere Informationen finden Sie in der Referenzdokumentation zu Pub/Sub Java API.
Node.js
Bevor Sie dieses Beispiel testen, folgen Sie der Einrichtungsanleitung für PHP in der Schnellstart-Anleitung: Clientbibliotheken verwenden. Weitere Informationen finden Sie in der Referenzdokumentation zu Pub/Sub Node.js API.
Node.ts
Bevor Sie dieses Beispiel testen, folgen Sie der Einrichtungsanleitung für PHP in der Schnellstart-Anleitung: Clientbibliotheken verwenden. Weitere Informationen finden Sie in der Referenzdokumentation zu Pub/Sub Node.js API.
PHP
Folgen Sie der Einrichtungsanleitung für PHP unter Schnellstart: Clientbibliotheken verwenden, bevor Sie dieses Beispiel ausprobieren. Weitere Informationen finden Sie in der Referenzdokumentation zur PHP-API von Pub/Sub.
Python
Bevor Sie dieses Beispiel testen, folgen Sie der Einrichtungsanleitung für Python in der Schnellstart-Anleitung: Clientbibliotheken verwenden. Weitere Informationen finden Sie in der Referenzdokumentation zu Pub/Sub Python API.
Ruby
Im folgenden Beispiel wird die Ruby-Pub/Sub-Clientbibliothek v3 verwendet. Wenn Sie noch die v2-Bibliothek verwenden, finden Sie hier die Migrationsanleitung für v3. Eine Liste der Ruby v2-Codebeispiele finden Sie unter Eingestellte Codebeispiele.
Bevor Sie dieses Beispiel ausprobieren, folgen Sie der Einrichtungsanleitung für Ruby im Schnellstart: Clientbibliotheken verwenden. Weitere Informationen finden Sie in der Referenzdokumentation zu Pub/Sub Ruby API.
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 Trusted Cloud Projektkontingent freizugeben.
Wenn sich das Abo und das Thema in verschiedenen Trusted 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. - Abonnements mit REST APIs erstellen oder ändern