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.
Hinweis
Erforderliche Rollen und Berechtigungen
Bitten Sie Ihren Administrator, Ihnen für das Thema die IAM-Rolle Pub/Sub-Bearbeiter (roles/pubsub.editor) zuzuweisen, damit Sie die Berechtigung zum Trennen von Abos erhalten.
Weitere Informationen zum Zuweisen von Rollen finden Sie unter Zugriff auf Projekte, Ordner und Organisationen verwalten.
Diese vordefinierte Rolle enthält die
pubsub.topics.detachSubscription
Berechtigung,
die zum
Trennen von Abos erforderlich ist.
Sie können diese Berechtigung auch mit benutzerdefinierten Rollen oder anderen vordefinierten Rollen erhalten.
Sie können die Zugriffssteuerung auf Projekt- 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 Cloud de Confiance 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 Cloud de Confiance 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
-
Aktivieren Sie Cloud Shell in der Cloud de Confiance console.
Unten in der Cloud de Confiance console wird eine Cloud Shell Sitzung gestartet und eine Befehlszeilenaufforderung angezeigt. Cloud Shell ist eine Shell-Umgebung in der das Google Cloud CLI bereits installiert ist und Werte für Ihr aktuelles Projekt bereits festgelegt sind. Das Initialisieren der Sitzung kann einige Sekunden dauern.
-
Verwenden Sie den
gcloud pubsub topics detach-subscription-Befehl, 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 projects.subscriptions.detachMethode, um ein Abo zu trennen.
Anfrage:
Die Anfrage muss mit einem Zugriffstoken im Header Authorization authentifiziert werden. Verwenden Sie den
gcloud auth application-default print-access-token Befehl, um ein Zugriffstoken für die aktuellen
Standardanmeldedaten für Anwendungen abzurufen.
POST https://pubsub.googleapis.com/v1/projects/PROJECT_ID/subscriptions/SUBSCRIPTION_ID:detach Authorization: Bearer ACCESS_TOKEN
Wobei:
- PROJECT_ID ist die Projekt-ID.
- SUBSCRIPTION_ID ist die Abo-ID.
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 Pub/Sub C++ API-Referenzdokumentation.
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 zur Pub/Sub C# API.
Go
Im folgenden Beispiel wird die Hauptversion der Go Pub/Sub-Clientbibliothek (Version 2) verwendet. Wenn Sie noch die Version 1 verwenden, lesen Sie den Migrationsleitfaden zu Version 2. Eine Liste der Codebeispiele für Version 1 finden Sie unter Veraltete 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 zur 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 zur 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 zur Pub/Sub Node.js API.
Node.ts
Bevor Sie dieses Beispiel testen, folgen Sie der Einrichtungsanleitung für Node.js in der Schnellstart-Anleitung: Clientbibliotheken verwenden. Weitere Informationen finden Sie in der Referenzdokumentation zur 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 Pub/Sub PHP API.
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 zur Pub/Sub Python API.
Ruby
Im folgenden Beispiel wird die Ruby Pub/Sub-Clientbibliothek Version 3 verwendet. Wenn Sie noch die Version 2 verwenden, lesen Sie den Migrationsleitfaden zu Version 3. Eine Liste der Codebeispiele für Ruby Version 2 finden Sie unter Veraltete Codebeispiele.
Bevor Sie dieses Beispiel testen, folgen Sie der Einrichtungsanleitung für Ruby in der Schnellstart-Anleitung: Clientbibliotheken verwenden. Weitere Informationen finden Sie in der Referenzdokumentation zur 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 Cloud de Confiance Projekt kontingent freizugeben.
Wenn sich das Abo und das Thema in verschiedenen Cloud de Confiance Projekten befinden, fügt der Pub/Sub-Dienst den Audit-Logs beider Projekte einen Eintrag hinzu.
Nächste Schritte
- Abo mit
gcloudBefehlen erstellen oder ändern - Abo mit REST APIs erstellen oder ändern