In diesem Dokument erfahren Sie, wie Sie ein Rollback für ein Schema für ein Pub/Sub-Thema durchführen.
Mit dem Rollback-Vorgang können Sie eine weitere Schemaversion mit genau derselben Schemadefinition wie die angegebene vorherige Version erstellen.
Hinweis
- Informationen zur Funktionsweise von Pub/Sub-Schemas
- Schema erstellen.
Erforderliche Rollen und Berechtigungen
Bitten Sie Ihren Administrator, Ihnen die
IAM-Rolle
Pub/Sub-Bearbeiter (roles/pubsub.editor) für Ihr Projekt zuzuweisen,
um die Berechtigungen zu erhalten, die Sie zum Durchführen eines Rollbacks für Schemas und zum Verwalten von Schemas 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 Durchführen eines Rollbacks für Schemas und zum Verwalten von Schemas erforderlich sind. Maximieren Sie den Abschnitt Erforderliche Berechtigungen , um die notwendigen Berechtigungen anzuzeigen, die erforderlich sind:
Erforderliche Berechtigungen
Die folgenden Berechtigungen sind erforderlich, um ein Rollback für Schemas durchzuführen und sie zu verwalten:
-
Schema erstellen:
pubsub.schemas.create -
Schema an Thema anhängen:
pubsub.schemas.attach -
Schemaversion festschreiben:
pubsub.schemas.commit -
Schema oder Schemaversion löschen:
pubsub.schemas.delete -
Schema oder Schemaversionen abrufen:
pubsub.schemas.get -
Schemas auflisten:
pubsub.schemas.list -
Schemaversionen auflisten:
pubsub.schemas.listRevisions -
Rollback für ein Schema durchführen:
pubsub.schemas.rollback -
Nachricht validieren:
pubsub.schemas.validate -
IAM-Richtlinie für ein Schema abrufen:
pubsub.schemas.getIamPolicy -
Konfigurieren Sie die IAM-Richtlinie für ein Schema:
pubsub.schemas.setIamPolicy
Sie können diese Berechtigungen auch mit benutzerdefinierten Rollen oder anderen vordefinierten Rollen erhalten.
Sie können Rollen und Berechtigungen Prinzipalen wie Nutzern, Gruppen, Domains oder Dienstkonten gewähren. Sie können ein Schema 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.
Rollback für eine Schemaversion durchführen
Sie können ein Rollback für ein Schema über die Google Cloud Console, die gcloud CLI, die Pub/Sub API, oder die Cloud-Clientbibliotheken durchführen. Gehen Sie so vor:
Console
Rufen Sie in der Google Cloud Console die Pub/Sub-Schemas Seite auf.
Klicken Sie auf den Namen eines vorhandenen Schemas.
Die Seite Schemadetails für das Schema wird geöffnet.
Klicken Sie auf Rollback durchführen.
Das Dialogfeld Rollback für Schema durchführen wird geöffnet.
Wählen Sie die Version aus, zu der Sie ein Rollback für Ihr Schema durchführen möchten.
Klicken Sie auf Bestätigen , um den Rollback-Vorgang zu speichern.
Eine neue Version wird mit dem im Rollback-Vorgang angegebenen Schema erstellt.
Wählen Sie auf der Seite Schemadetails die neueste Version des Schemas und die Version aus, die Sie als Quelle für den Rollback-Vorgang ausgewählt haben.
Klicken Sie auf Unterschied anzeigen.
Sie können prüfen, ob die beiden Schemas identisch sind.
Sie können die gerade erstellte Schemaversion als letzte Version zum Validieren eines Themas verwenden, indem Sie das Feld Zulässige letzte Version aktualisieren.
gcloud
gcloud pubsub schemas rollback SCHEMA_ID \ --revision-id=REVISION_ID
Wobei:
- REVISION_ID ist die Version, zu der Sie ein Rollback durchführen möchten.
REST
Senden Sie zum Durchführen eines Rollbacks für ein Schema eine POST-Anfrage wie die folgende:
POST https://pubsub.googleapis.com/v1/projects/PROJECT_ID/schemas/SCHEMA_ID:rollback Authorization: Bearer $(gcloud auth application-default print-access-token) Content-Type: application/json --data @response-body.json
Geben Sie im Anfragetext die folgenden Felder an:
{ "revisionId": REVISION_KD }
Wobei:
- REVISION_KD ist die ID der Version, zu der ein Rollback durchgeführt werden soll.
Der Antworttext sollte eine JSON-Darstellung einer Schemaressource enthalten.
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.
Go
Im folgenden Beispiel wird die Hauptversion der Go Pub/Sub-Clientbibliothek (Version 2) verwendet. Wenn Sie noch die Version 1 verwenden, finden Sie weitere Informationen im 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.
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.
Node.js
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.
Node.js
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.
Nächste Schritte
- Schemaversion löschen
- Schema löschen
- Schemas auflisten
- Versionen eines Schemas auflisten
- Thema mit einem Schema abonnieren