Schemaversion übernehmen

In diesem Dokument erfahren Sie, wie Sie eine Schemaversion für Pub/Sub-Themen festschreiben.

Hinweis

Erforderliche Rollen und Berechtigungen

Bitten Sie Ihren Administrator, Ihnen die Pub/Sub Editor (roles/pubsub.editor) IAM-Rolle für Ihr Projekt zuzuweisen, um die Berechtigungen zu erhalten, die Sie zum Festschreiben einer Schemaversion 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 Festschreiben einer Schemaversion 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 eine Schemaversion festzuschreiben und Schemas 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
  • 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 Prinzipalen 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.

Schema überarbeiten

Sie können eine Schemaversion über die Google Cloud Console, die gcloud CLI, die Pub/Sub API, oder die Cloud-Clientbibliotheken festschreiben.

Hier sind einige Richtlinien zum Festschreiben einer Schemaversion:

  • Sie können ein Schema innerhalb bestimmter Einschränkungen überarbeiten:

    • Bei Protocol Buffer-Schemas können Sie optionale Felder hinzufügen oder entfernen. Andere Felder können nicht hinzugefügt oder gelöscht werden. Außerdem können Sie keine vorhandenen Felder bearbeiten.

    • Informationen zu Regeln für die Schemaauflösung für Avro-Schemas finden Sie in der Avro-Dokumentation. Eine neue Version muss den Regeln so folgen, als wäre sie sowohl das Leserschema als auch das Schreiberschema.

    • Ein Schema kann maximal 20 Versionen gleichzeitig haben. Wenn Sie das Limit überschreiten, löschen Sie eine Schemaversion, bevor Sie eine weitere erstellen.

  • Jeder Version ist eine eindeutige Versions-ID zugeordnet. Die Versions-ID ist eine automatisch generierte achtstellige UUID.

  • Wenn Sie den Versionsbereich oder die Version eines Schemas aktualisieren, das für die Themenvalidierung verwendet wird, kann es einige Minuten dauern, bis die Änderungen wirksam werden.

Console

So erstellen Sie eine Schemaversion:

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

    Zu den Schemas

  2. Klicken Sie auf die Schema-ID eines vorhandenen Schemas.

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

  3. Klicken Sie auf Version erstellen.

    Die Seite Schemaversion erstellen wird geöffnet.

  4. Nehmen Sie die gewünschten Änderungen vor.

    Für das Beispielschema in Avro, das Sie unter Schema erstellen erstellt haben, können Sie beispielsweise so ein zusätzliches optionales Feld namens