Schemaversionen für ein Thema auflisten

In diesem Dokument erfahren Sie, wie Sie die Überarbeitungen eines Schemas für Pub/Sub-Themen auflisten.

Hinweis

Erforderliche Rollen und Berechtigungen

Bitten Sie Ihren Administrator, Ihnen die Pub/Sub-Bearbeiter (roles/pubsub.editor) IAM-Rolle für Ihr Projekt zuzuweisen, um die Berechtigungen zu erhalten, die Sie zum Auflisten und Verwalten von Schemaüberarbeitungen 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 Auflisten und Verwalten von Schemaüberarbeitungen erforderlich sind. Maximieren Sie den Abschnitt Erforderliche Berechtigungen , um die notwendigen Berechtigungen anzuzeigen, die erforderlich sind:

Erforderliche Berechtigungen

Die folgenden Berechtigungen sind erforderlich, um Schemaüberarbeitungen aufzulisten und zu verwalten:

  • Schema erstellen: pubsub.schemas.create
  • Schema an Thema anhängen: pubsub.schemas.attach
  • Schemaüberarbeitung festschreiben: pubsub.schemas.commit
  • Schema oder Schemaüberarbeitung löschen: pubsub.schemas.delete
  • Schema oder Schemaüberarbeitungen abrufen: pubsub.schemas.get
  • Schemas auflisten: pubsub.schemas.list
  • Schemaüberarbeitungen auflisten: pubsub.schemas.listRevisions
  • Schema zurücksetzen: 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 Principals wie Nutzern, Gruppen, Domains oder Dienstkonten zuweisen. 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.

Überarbeitungen eines Schemas auflisten

Sie können die Überarbeitungen eines Schemas in einem Google Cloud Projekt über die Google Cloud Console, die gcloud CLI, die Pub/Sub API, oder die Cloud-Clientbibliotheken auflisten.

Console

  1. Rufen Sie in der Google Cloud Console die Pub/Sub-Schemas Seite auf.

    Zu „Schemas“

    Die Liste der Schemas wird angezeigt.

  2. Klicken Sie auf den Namen des Schemas, das Sie aufrufen möchten.

    Die Seite Schemadetails für das Schema wird geöffnet.

    Im Abschnitt Überarbeitungen sehen Sie die Liste der verfügbaren Überarbeitungen für das Schema.

gcloud

So rufen Sie die neueste Überarbeitung für ein Schema auf:

gcloud pubsub schemas list-revisions SCHEMA_ID

Verwenden Sie den gcloud pubsub schemas list-revisions <var>SCHEMA_ID</var> --view=FULL Befehl, um die Definitionen für die Schemaüberarbeitungen aufzurufen.

REST

Um die Schemaüberarbeitungen für ein Schema aufzulisten, senden Sie eine GET-Anfrage wie die folgende:

GET https://pubsub.googleapis.com/v1/projects/SCHEMA_NAME:listRevisions

Bei Erfolg enthält der Antworttext ein JSON-Objekt mit allen Schemaüberarbeitungen für das Schema.

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.

namespace pubsub = ::google::cloud::pubsub;
[](pubsub::SchemaServiceClient client, std::string const& project_id,
   std::string const& schema_id) {
  auto const parent = pubsub::Schema(project_id, schema_id).FullName();
  for (auto& s : client.ListSchemaRevisions(parent)) {
    if (!s) throw std::move(s).status();
    std::cout << "Schema revision: " << s->DebugString() << "\n";
  }
}

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.

import (
	"context"
	"fmt"
	"io"

	pubsub "cloud.google.com/go/pubsub/v2/apiv1"
	"cloud.google.com/go/pubsub/v2/apiv1/pubsubpb"
	"google.golang.org/api/iterator"
)

func listSchemaRevisions(w io.Writer, projectID, schemaID string) ([]*pubsubpb.Schema, error) {
	// projectID := "my-project-id"
	// schemaID := "my-schema-id"
	ctx := context.Background()
	client, err :=